Java实现当前目录下的所有子目录和文件,并按层级打印
程序员文章站
2022-05-15 08:44:12
...
目录下有子目录,子目录下有子目录,很容易想到用递归来实现。
/**
* 递归实现按层级打印目录下的子目录和文件
* @param file 所在目录
* @param count 所在层级
*/
public static void getFileName(File file,int count) {
for(File f:file.listFiles()) { //遍历目录
String preStr = "";
for(int i=0; i<=count; i++) { //所在层级的输出格式
preStr += " ";
}
System.out.println(preStr+f.getName());
if(f.isDirectory()){ //是否为目录
count++;
getFileName(f,count); //递归调用
}
}
}
在程序中最好是避免使用递归方法!
非递归实现:
算法设计的不好,就不贴出来了,有好的方法希望能多分享交流。
非递归实现个人觉得满意后再贴出来。
上一篇: java文件操作_获取目录下所有文件和删除指定拓展名的文件
下一篇: Java io流对文件的操作