龙空技术网

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

程序猿囧途 137

前言:

眼前大家对“java遍历类成员”大约比较关切,朋友们都想要学习一些“java遍历类成员”的相关内容。那么小编也在网摘上搜集了一些有关“java遍历类成员””的相关内容,希望同学们能喜欢,你们快快来了解一下吧!

直奔主题,看代码实现

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遍历类成员 #java文件目录遍历