java文件遍历
Posted zincredible
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java文件遍历相关的知识,希望对你有一定的参考价值。
/** * 深度搜索遍历文件夹 * * @param dirPath * @param list */ public static void dfsListFile(String dirPath, List<String> list) { File file = new File(dirPath); File[] files = file.listFiles(); for (File tmpFile : files) { if (tmpFile.isDirectory()) { dfsListFile(tmpFile.getAbsolutePath(), list); } else { list.add(tmpFile.getAbsolutePath()); } } } /** * 广度搜索遍历文件夹 * * @param dirPath * @param list */ public static void bfsListFile(String dirPath, List<String> list) { File file = new File(dirPath); File[] fs = file.listFiles(); Queue<File> queue = new LinkedList<>(); // 遍历第一层 for (File f : fs) { // 把第一层文件夹加入队列 if (f.isDirectory()) queue.offer(f); else list.add(f.getAbsolutePath()); } // 逐层搜索下去 while (!queue.isEmpty()) { // 从队列头取一个元素 File fileTemp = queue.poll(); File[] fileListTemp = fileTemp.listFiles(); for (File f : fileListTemp) { if (f.isDirectory()) queue.offer(f); else list.add(f.getAbsolutePath()); } } }
以上是关于java文件遍历的主要内容,如果未能解决你的问题,请参考以下文章