代码怎么显示不出来,,,你看看是不是我上面发的图的效果,基于你的修改了下,判断是否为目录就可以了
package cn.geekspace.exam;
import java.io.File;
/*
* 显示带层级的目录下所有文件
*/
public class Testt {
public static void main(String[] args) {
File dir = new File("c:\\a");
showDir(dir, 0);
}
public static void showDir(File dir, int level) {
System.out.println(getLevel(level, dir.isDirectory())+dir.getName());
level++;
File[] files = dir.listFiles();
for(int x=0; x<files.length; x++) {
if(files[x].isDirectory()) //是目录吗?
showDir(files[x], level); //递归思想,因为目录中还有目录。
else {
System.out.println(getLevel(level, files[x].isDirectory())+files[x].getName());
}
}
}
public static String getLevel(int level, boolean isDirectory) {
StringBuilder sb = new StringBuilder();
if(isDirectory)
sb.append("+ "); //全部加上"+"
for(int x=0; x<level; x++){
sb.insert(0, " ");
}
return sb.toString();
}
}
|