File的遍历文件

在前面我们已经学了利用File对文件的判断、创建、删除

那么我们应该如何在java中去遍历一个文件夹呢?

File类给我们提供了list()方法

private static void list(File f) {
        String[] arr = f.list();
        for (String s : arr) {
            System.out.println(s);
        }
    }

它可以将所有的文件名、文件夹名以String的方式存储在数组中

并且在传入路径的时候,应该传入以文件夹结尾,不能以文件结尾,因为文件没有子文件

而且可以获取到隐藏文件哦~

输出:

aa
abc
b.txt
c.txt

 这个方法局限于遍历名字,那么我们应该如何去操作每一个文件、文件夹呢?

File还有一个方法:

 private static void ListFiles(File f) {
        File[] listFiles = f.listFiles();
        for (File s : listFiles) {
            System.out.println(s);
        }
    }

这个方法获取到了每个文件、文件夹,然后封装为File类

当这个文件夹目录下没有任何文件、文件夹时,数组的长度是0        

给定一个根目录,遍历这个目录下的全部文件、文件夹(递归遍历)

 private static void GetAllFile(File url) {
        System.out.println(url);
        File[] listFiles = url.listFiles();
        for (File lf : listFiles) {
            if (lf.isDirectory()) {
                GetAllFile(lf);
            } else {
                System.out.println(lf);
            }
        }
    }

若要指定输出某个文件类型,可以在输出的时候fl.toString一下,再进行判断

 private static void GetAllFile(File url) {
//        File[] listFiles = url.listFiles((File a) -> {
//            return true;
//        });
        File[] listFiles = url.listFiles();
        for (File lf : listFiles) {
            if (lf.isDirectory()) {
                GetAllFile(lf);
            } else {
                if (lf.toString().toLowerCase().endsWith(".java")) {
                    System.out.println(lf);
                }
            }
        }
    }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值