该程序实现能够读取指定目录下的所有的子目录和文件,以及子目录中的子目录和文件,直到没有子目录为止。 import java.io.*; public class TestDirectory { public static void main(String[] args) { String dir = "D:/360Downloads"; File f = new File(dir); if(f.isDirectory()){//判断用户输入是否为一个合法的目录 System.out.println(f.getName());//编译出的class文件所在目录为顶层目录 getChild(f,1); }else{ System.out.println("input like 'java TestDirectory c://abc' to run the class"); System.exit(-1);//如果输入不符,提示并退出 } } public static void getChild(File f,int level){ String preString = ""; for(int i=0;i<level;i++){//缩进 preString += "-"; } File[] childs = f.listFiles(); for(int i=0; i<childs.length; i++){ System.out.println(preString + childs[i].getName()); if(childs[i].isDirectory()){//如果下级仍为目录,递归调用 getChild(childs[i],level+1); } } } }