Java如何遍历一个目录下的所有的文件(直到根目录)?

Java如何遍历一个目录下的所有的文件(直到根目录)?

大家都知道Java中文件对象的listFiles()的方法只能遍历一个目录下不包括子目录的所有文件。
那么如何深层次遍历一个目录下包括自目录内的所有文件呢?
代码如下:如果用记事本的话文件名改成Demo6.java

import java.io.File;
/**
遍历一个目录下所有的文件(包括根目录的一个程序)
**/
public class Demo6 {
    //定义一个文件目录的层级
    static int level;
    public static void main(String[] args) {
        //遍历一个文件目录下的所有的文件直至最里层
        File file = new File("D:\\wfx");//在这里更改你要遍历目录的绝对路径
        parseFile(file);
    }
    public static void parseFile(File file){
        //每次调用层级加1
        level++;
        //如果文件为null 或者文件不存在终止遍历
        if (file == null || !file.exists()){
            return;
        }
        //获得文件对象的子文件对象列表
        File[] files = file.listFiles();
        //遍历文件并打印文件名字
        for(File f:files){
            //层级缩进
            for (int i = 0; i < level ; i++) {
                System.out.print("\t");
            }
            String name = f.getName();
            System.out.println(name);
            //判断这些子文件是否是目录
            boolean directory = f.isDirectory();
            //如果是目录的话接着遍历
            if (directory){
                parseFile(f);
            }
        }
        level--;
    }
}

如果想看删除该目录下所有文件(清空文件夹)请转链接:Java中删除一个文件夹下的所有文件(包括子目录内的文件)

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值