// 我使用的递归调用方法实现
import java.io.*;
public class FileList {
public static void main (String[] args){
File f= new File ("d:/A"); //要以树状显示的路径
System.out.println(f.getName());
tree(f,1);
}
private static void tree(File f,int count) {
File son[]=f.listFiles(); //列出f下的文件及文件夹
String empty= "";
for(int i=0;i<count;i++) // 这个循环是每次出现个子文件夹 输出时前面累加空格 为了显示的更直观
{ empty+=" "; }
for(int i=0; i<son.length; i++){
System.out.println(empty+son[i].getName()); // 输出子文件、文件夹名
if(son[i].isDirectory()){ //判断如果子路径下出现文件夹就再次调用 tree方法
count++;
tree(son[i],count);
}
}
}
}
效果图: