:指定任意一个目录,设计一个方法,打印出该目录下的所有文件和目录的层次结构图
只判断目录下的文件打印,如果是只是文件就直接跳过
c:\
|--abc
|--def
| |--a
| | |--c.java
| |--b
|--t.txt
|--s.txt
只判断目录下的文件打印,如果是只是文件就直接跳过
c:\
|--abc
|--def
| |--a
| | |--c.java
| |--b
|--t.txt
|--s.txt
public static void main(String[] args) {
// TODO Auto-generated method stub
File file=new File("D:\\eclipse");
System.out.println(file.getAbsolutePath());
System.out.println("------------------");
show(file,0);
System.out.println("------------------");
}
public static void show(File file,int level){
StringBuilder str = new StringBuilder("|--");
for(int i=0;i<level;i++){
str.insert(0, "| ");
}
//file有可能是一个文件
//file还有可能是个空文件夹
File[] listFiles = file.listFiles();
if(file.isFile()||listFiles.length==0){
return ;
}
//非空的文件夹
else{
for(File f:listFiles){
System.out.println(str+f.getName());
if(f.isDirectory()){
show(f,level+1);
}
}
}
}