package com.HomeWork.day06.遍历文件目录;
import java.io.File;
/**
* 需求:遍历一个文件夹里面的所有文件和文件夹
*
* 分析:先用循环进行分析,然后找需要循环调用的方法
* 当遇到多级目录时,用一个level控制循环来打印\t
*/
public class BianLiFile {
public static void main(String[] args) {
File file = new File("e:/FileTest");
bianLiFile(file,0);
}
public static void bianLiFile(File file, int level) {
if(level == 0) {
System.out.println("文件" + file.getName() + "的目录结构如下");
level++;
}
File[] fileList = file.listFiles();
for (File f : fileList) {
for(int i = 0; i < level; i++) {
System.out.print("\t");
}
System.out.println(f.getName());
if (f.isDirectory()) {
bianLiFile(f,level+1);
}
}
}
}
虽然不难的IO加递归遍历目录题目,不过还是遇到了点困难,在遇到多级目录时候,忘记用一个循环来增加\t,于是在那里苦想都不知道怎么解决,看了同学的才发现原来只要每次进入一个目录将level+1即可。