Java 如何查找文件目录下的所有文件夹和文件
1 package com.freud.algorithm.other; 2 3 import java.io.File; 4 5 public class FileDemo { 6 7 public static void main(String[] args) { 8 File dir = new File("F:\\2020\\"); 9 //File dir=new File("F:\\"); 10 //如果使用上述的盘符的根目录,会出现java.lang.NullPointerException 11 //为什么? 12 getAllFiles(dir, 0);//0表示最顶层 13 } 14 15 /** 16 * 获取层级的方法 17 * 18 * @param level 19 * @return 20 */ 21 public static String getLevel(int level) { 22 23 StringBuilder stringBuilder = new StringBuilder(); 24 for (int l = 0; l < level; l++) { 25 stringBuilder.append("|--"); 26 } 27 return stringBuilder.toString(); 28 } 29 30 public static void getAllFiles(File dir, int level) { 31 32 System.out.println(getLevel(level) + dir.getName()); 33 level++; 34 File[] files = dir.listFiles(); 35 for (int i = 0; i < files.length; i++) { 36 if (files[i].isDirectory()) { 37 // 这里面用了递归的算法 38 getAllFiles(files[i], level); 39 } else { 40 System.out.println(getLevel(level) + files[i]); 41 } 42 } 43 } 44 }