1.传入File对象,和计数器
2.自定义递归方法
3.如果传入的是文件夹则调用自身对文件夹再次进行遍历,计数器+1
4.当 传入的 file 不存在或者为null的时候,则证明遍历到最里面了
一起看代码吧!
public static void printFile(File file, int line) {
// 第一步判断传递进来的file是否存在,不存在则return,递归的回归入口
if(file == null || !file.exists()) {
return ;
}
// 如果是文件夹,则遍历文件夹下的所有文件
if(file.isDirectory()) {
for (File f : file.listFiles()) {
// 再次调用自身,层级加1,为改目录下的(文件/文件夹)了
printFile(f, line+1 );
}
}
//如果为文件,则输出文件绝对路径,带上文件层级
if(file.isFile()) {
System.out.println( file.getAbsolutePath() + "---" + line );
}
}