"ヾ(◍°∇°◍)ノ゙加油哟~","愿我们不负昭华,以梦为马!","愿我们历尽千帆,归来仍是少年!"

获取目录下的文件及文件夹等信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package com.aaa.tools.file;
 
import java.io.File;
/*
 * 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件 。
 * 并将文件夹和文件名称打印在控制台上面。并且要显示文件目录的层级
 * 注:运用了递归的算法。
 */
public class GetFileInfoByPath {
 
    public static void main(String[] args) {
        File dir=new File("D:\\数据中心附件\\");
        //File dir=new File("F:\\");
        //如果使用上述的盘符的根目录,会出现java.lang.NullPointerException
        //不能选择根目录
        getAllFiles(dir,0);//0表示最顶层
    }
    //获取层级的方法
    public static String getLevel(int level)
    {
        //A mutable sequence of characters.
        StringBuilder sb=new StringBuilder();
        for(int l=0;l<level;l++)
        {
            sb.append("|--");
        }
        return sb.toString();
    }
    public static void getAllFiles(File dir,int level)
    {
        System.out.println(getLevel(level)+dir.getName());
        level++;
        File[] files=dir.listFiles();
        for(int i=0;i<files.length;i++)
        {
            if(files[i].isDirectory())
            {
                //这里面用了递归的算法
                getAllFiles(files[i],level);
            }
            else {
                System.out.println("文件路径"+files[i]);
                System.out.println(getLevel(level)+files[i]);
            }
        }
    }
}

  

posted @   深夜独行侠  阅读(164)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示