问题:
思路:
查看API文档中的File类;fileLists()方法、getName()方法、isDirectory()方法 + 递归
代码形成过程:
此时没有输出根文件夹A,所以要进一步编写。
这样书写出来没有层次感不是树状结构,进一步编写。
代码:
import java.io.*;
public class FileList {
public static void main(String[] args) {
File f = new File("g:/java/A"); //确定根文件夹
System.out.println(f.getName()); //输出根文件夹
tree(f,1);
}
private static void tree(File f,int level) {
String preStr = ""; //设置前置字符串
for(int i=0;i<level;i++) {
preStr += " "; //根据等级设置前置等级,这里的参数level是点睛之笔
}
File[] childs = f.listFiles();
for(int i=0;i<childs.length;i++) {
System.out.println(preStr + childs[i].getName());
if(childs[i].isDirectory()) {
tree(childs[i],level+1);
}
}
}
}
效果图:
马士兵老师对问题的讲解