• File的遍历文件


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

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

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

    1. private static void list(File f) {
    2. String[] arr = f.list();
    3. for (String s : arr) {
    4. System.out.println(s);
    5. }
    6. }

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

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

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

    输出:

    aa
    abc
    b.txt
    c.txt

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

    File还有一个方法:

    1. private static void ListFiles(File f) {
    2. File[] listFiles = f.listFiles();
    3. for (File s : listFiles) {
    4. System.out.println(s);
    5. }
    6. }

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

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

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

    1. private static void GetAllFile(File url) {
    2. System.out.println(url);
    3. File[] listFiles = url.listFiles();
    4. for (File lf : listFiles) {
    5. if (lf.isDirectory()) {
    6. GetAllFile(lf);
    7. } else {
    8. System.out.println(lf);
    9. }
    10. }
    11. }

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

    1. private static void GetAllFile(File url) {
    2. // File[] listFiles = url.listFiles((File a) -> {
    3. // return true;
    4. // });
    5. File[] listFiles = url.listFiles();
    6. for (File lf : listFiles) {
    7. if (lf.isDirectory()) {
    8. GetAllFile(lf);
    9. } else {
    10. if (lf.toString().toLowerCase().endsWith(".java")) {
    11. System.out.println(lf);
    12. }
    13. }
    14. }
    15. }

  • 相关阅读:
    Kong网关命令详解
    附文献丨艾美捷T7 RNA聚合酶说明书
    Linux:gitlab创建组,创建用户,创建项目
    如何在湖师大官网找到考研真题
    m分别通过GA遗传优化算法对企业不同产品订单生产进行时间优化
    tensorflow fashion_mnist数据集模型训练及预测
    STM32——系统时钟(概述,问题总结)
    Linux终端与交互式Bash
    SQL分层查询
    面试前端性能优化八股文十问十答第二期
  • 原文地址:https://blog.csdn.net/qx020814/article/details/125599575