您的位置 首页 java

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

    }  

相比递归,有以下优点:

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

记的『关注』我哦!

文章来源:智云一二三科技

文章标题:Java遍历目录文件,一个while循环即可

文章地址:https://www.zhihuclub.com/186759.shtml

关于作者: 智云科技

热门文章

网站地图