我觉得遍历不是很懂
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数组中,就不会不存在了,这时还包括文件,有子文件的文件夹,空文件夹的情况。这时不论是哪一种都先打印出名字就好了,然后是文件夹的在递归(这时不用管是不是空的)。不知道想的对不对。。