public static void main(String[] args) { File file = getDir(); getDirLev(file,0); } public static void getDirLev(File file, int lev) { //获取所有文件夹和文件 File[] subFiles = file.listFiles(); for (File subFile : subFiles) { for (int i = 0; i <= lev; i++) { System.out.print("\t"); } //无论是文件还是文件夹都打印出来 System.out.println(subFile); //如果是文件夹的话递归调用 if(subFile.isDirectory()){ getDirLev(subFile,lev++); } } } public static File getDir() { Scanner sc = new Scanner(System.in); System.out.println("请输入一个路径"); while (true) { String line = sc.nextLine(); // 将line封装成file对象 File file = new File(line); if (!file.exists()) { System.out.println("你输入的不是一个文件夹路径,请输入一个文件夹路径"); }else if(file.isFile()){ System.out.println("你输入的是一个文件路径,请输入一个文件夹路径"); }else{ return file; } } } |