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 }

 

posted @ 2020-07-31 10:17  Freud领工资也用券  阅读(874)  评论(0编辑  收藏  举报