Java遍历目录文件,一个while循环即可

createh51周前 (12-30)技术教程10


直奔主题,看代码实现


public static void main(String[] args) {

    File dir = new File("/home/user"); //需要遍历的系统目录
    if( !dir.exists() ) return; //目录不存在

    Queue<File> cache = new LinkedList<>(); //创建临时队列 - 保存需要处理的目录
    cache.offer(dir);
    while( (dir = cache.poll() ) != null) {
        File[] files = dir.listFiles();
        for( File file : files ) {
            if( file.isFile() ) {
                System.out.println("文件:" + file.getAbsolutePath());
                    //TODO 业务逻辑
                } else {
                    System.out.println("目录: " + file.getAbsolutePath());
                    //TODO 业务逻辑

                    cache.offer(file); //放入对列中,等待处理
                }
           }
        }

    }


相比递归,有以下优点:

  • 占用内存少
  • 目录级别再多也没问题
  • 局部变量的引用能及时释放


记的『关注』我哦!

相关文章

Java 中获取文件路径的方式,你知道几种?

1. 前言Java 开发中我们经常要获取文件的路径,比如读取配置文件等等。今天我们就关于文件的路径和如何读取文件简单地探讨一下。2. 文件的路径文件的路径通常有 相对路径 与 绝对路径。2.1 相对路...

java获取文件路径(java如何获取文件路径)

1. 前言Java 开发中我们经常要获取文件的路径,比如读取配置文件等等。今天我们就关于文件的路径和如何读取文件简单地探讨一下。2. 文件的路径文件的路径通常有 相对路径 与 绝对路径。2.1 相对路...

java获取文件路径最好的方式(java 获取文件地址)

在开发中,我们经常要去获取文件的路径,那么什么样的方式才是最好的呢? 那就是移植性,不能换了一个软件,或者换了一个系统就需要修改获取文件路径的源码,所以今天我们就来看下这种获取文件路径的方式:注意:这...

纯小白干货:Java import以及Java类的搜索路径

如果你希望使用Java包中的类,就必须先使用import语句导入。import语句与C语言中的 #include 有些类似,语法为: import package1[.package2…].class...

几种获取resources目录下的文件方式

前言一般我们的配置信息默认都是会配置在/src/main/resources/application.properties(或者application.yml)文件中,当然,也可以在resources...

「JAVA」三种方式加载本地资源文件:绝对路径、类路径、当前路径

三种方式加载本地资源文件:绝对路径、类路径、当前路径,本文以"db.properties"资源文件为例,分别介绍三种加载本地资源文件的方式。加载properties文件时,使用的是Pr...