使用递归打印文件对象下的所有文件
public class FileDemo10 {
// 定义一个文件目录的层级
static int level;
public static void main(String[] args) throws IOException {
// 创建一个目录
File file = new File("G:\\aaa");
// 下面方法
pareseFile(file);
}
/**
* 递归
*/
public static void pareseFile(File file) {
if (file == null || !file.exists()) {
return;
}
level++;
// 获得文件对象的子文件对象列表
File[] files = file.listFiles();
//
for (File f : files) {
// 打印层级的缩进
for (int i = 0; i < level; i++) {
System.out.print("\t");
}
// 打印文件
System.out.println(f.getName());
if (f.isDirectory()) {
// 递归的方式来遍历
pareseFile(f);
}
}
// 还原递归后的层级数
level--;
}
}
}
目标文件截图
输出结果
Document
bbb
Java1.txt
Java2.txt
Java3.txt
java4.txt
java5.txt
Java1.txt
Java10.txt
Java2.txt
Java3.txt
java4.txt
java5.txt
Java6.txt
Java7.txt
Java8.txt
Java9.txt
Music
彦祖 - 红色高跟鞋 [mqms].mp3
Picture
p1.png
p2.JPG
p3.jpg
Project
Hello.txt
Java.txt
sun.txt
特殊需要的可自行DIY。