//先来看看佳哥的做法,不得不说佳哥这递归控制变量增加制表符一般人是想不到的
public static void printDir(File dir,int n){
File[] subFile=dir.listFiles();
for (File file : subFile) {//---必须遍历操作.
for (int i = 0; i <=n; i++) {//--打印制表符
System.out.print("\t");
}
System.out.println(file.getName());
if(file.isDirectory()){
printDir(file,n+1);//n+1 不是n++
}
}
}
//哈哈接下来是我的做法 虽然是用递归 但我的层级是用字符串操作做的.
public static void allPath(File file) throws IOException{
File[] fi=file.listFiles();
for (File file2 : fi) {
{//截取(绝对路径长度-文件/文件夹名长度)替换为空格 +文件/文件夹名-------看着长 思路简单
System.out.println(file2.getAbsolutePath().substring(0,file2.getAbsolutePath().length()-file2.getName().length()).replaceAll(".", " ")+file2.getName());
if(file2.isDirectory())
allPath(file2);
}
}
}
//--------------大家可以交流一下各种奇葩的做法
//----------------走过路过不要错过 多多捧场!
|
|