我觉得遍历不是很懂
import java.io.File;
public class Example1 {
public static void main(String args[]) {
Example1 example1 = new Example1();
File file = new File("../Homework");
example1.f(file, 1);
}
//indent是缩进
public void f(File file, int indent) {
if (!file.exists())
throw new IllegalArgumentException("文件" + file + "不存在");
if (!file.isDirectory())
throw new IllegalArgumentException("文件" + file + "不是目录");
File[] files = file.listFiles();
for (File fil : files) {
for (int i = 0; i < indent; i++) {
System.out.print("|-");
}
System.out.println(fil.getName());
if (fil.isDirectory())
f(fil, indent + 3);
}
}
}看老师的为什么还要file!=null,我感觉既然已经存在File数组中,就不会不存在了,这时还包括文件,有子文件的文件夹,空文件夹的情况。这时不论是哪一种都先打印出名字就好了,然后是文件夹的在递归(这时不用管是不是空的)。不知道想的对不对。。