应用:
递归以及File类的listfiles() 方法实现文件夹的子孙级目录输出。
代码如下所示:
/**
* 输出子孙级目录|文件的名称 1、listfiles() 2、递归
*
* @author Linlin Zhao
*
*/
public class demo05File {
public static void main(String[] args) {
String path = "D:/other";
File parent = new File(path);
printName(parent,0);
}
/**
* 输出路径
*/
public static void printName(File file,int root) {
//判断文件是否存在
if (file == null || !file.exists()) {
return;
}
//控制文件层次
for(int i=0;i<root;i++){
System.out.print("-");
}
System.out.println(file.getName());
if (file.isDirectory()) {
for (File f : file.listFiles()) {
printName(f,root+1);
}
}
}
}
运行结果如下所示:
innew
-aaa
–33.txt
–ss.docx
-bbb
–666.txt
-q.txt