列出指定目录下的所有文件,并且有层次关系在控制台显示
2013-07-09 11:11
501 查看
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class TestIO7 {
//用于判断目录或文件所处的层次
private static int time;
private static void listAllFiles(File f){
//File[] fs = f.listFiles();
if(f.isFile()||f.list().length==0){
return ;
}
else{
File[] fs = f.listFiles();
File[] fs2 = sort(fs);
for(File f2:fs2){
StringBuffer sb = new StringBuffer();
if(f2.isFile()){
sb.append(getTabs(time));
sb.append(f2.getName());
}
else{
sb.append(getTabs(time));
sb.append(f2.getName());
sb.append("\\");
}
System.out.println(sb.toString());
if(f2.isDirectory())
{
time++;
listAllFiles(f2);
time--;
}
}
}
}
private static File[] sort(File[] f){
List<File> list = new ArrayList<File>();
for(File ff : f){
if(ff.isDirectory()){
list.add(ff);
}
}
for(File ff:f){
if(ff.isFile()){
list.add(ff);
}
}
return list.toArray(new File[f.length]);
}
private static String getTabs(int time){
StringBuffer sb = new StringBuffer();
for(int i=0;i<time;i++){
sb.append("\t");
}
return sb.toString();
}
public static void main(String[] args) {
//TestIO7 test = new TestIO7();
listAllFiles(new File("c:/wds"));
}
}
import java.util.ArrayList;
import java.util.List;
public class TestIO7 {
//用于判断目录或文件所处的层次
private static int time;
private static void listAllFiles(File f){
//File[] fs = f.listFiles();
if(f.isFile()||f.list().length==0){
return ;
}
else{
File[] fs = f.listFiles();
File[] fs2 = sort(fs);
for(File f2:fs2){
StringBuffer sb = new StringBuffer();
if(f2.isFile()){
sb.append(getTabs(time));
sb.append(f2.getName());
}
else{
sb.append(getTabs(time));
sb.append(f2.getName());
sb.append("\\");
}
System.out.println(sb.toString());
if(f2.isDirectory())
{
time++;
listAllFiles(f2);
time--;
}
}
}
}
private static File[] sort(File[] f){
List<File> list = new ArrayList<File>();
for(File ff : f){
if(ff.isDirectory()){
list.add(ff);
}
}
for(File ff:f){
if(ff.isFile()){
list.add(ff);
}
}
return list.toArray(new File[f.length]);
}
private static String getTabs(int time){
StringBuffer sb = new StringBuffer();
for(int i=0;i<time;i++){
sb.append("\t");
}
return sb.toString();
}
public static void main(String[] args) {
//TestIO7 test = new TestIO7();
listAllFiles(new File("c:/wds"));
}
}
相关文章推荐
- 列出指定目录下的所有文件和目录
- 显示指定目录下文件所有文件的行数和文件的个数
- win32控制台下实现查找并显示指定目录下的指定类型文件
- 显示指定目录下文件所有文件的行数和文件的个数
- 树型结构列出指定目录里所有文件的PHP类
- java开发FTP客户端列出指定目录下面所有文件
- 列出指定目录所有文件并修改文件名的源代码
- [Linux C]列出指定目录下的所有文件(夹)
- 列出指定目录下的所有文件的绝对路径
- 列出指定目录下所有可被其他用户执行的文件
- javaFile循环列出指定目录下的所有文件(源代码)
- 列出指定目录下属于给定用户的所有文件
- vb-复制ie临时文件夹下所有mp3文件到指定目录,并且将utf8编码转换过来
- 列出指定目录下的所有文件
- 在指定目录中查找指定类型的文件,并且获取文件名再显示
- 列出当前目录所有包含指定字符串的文件
- vb-复制ie临时文件夹下所有mp3文件到指定目录,并且将utf8编码转换过来
- 如何查看某个指定目录下的所有文件,只要显示其文件名,并把它输出
- 黑马程序员-列出一个目录中所有指定文件,使用FilenameFilter类
- C#控制台基础 显示指定文件内的所有文件夹和文件的名称及大小