专业的JAVA编程教程与资源

网站首页 > java教程 正文

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

temp10 2024-11-24 21:50:16 java教程 12 ℃ 0 评论


直奔主题,看代码实现

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


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); //放入对列中,等待处理
                }
           }
        }

    }


相比递归,有以下优点:

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


记的『关注』我哦!

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表