/** * 通过队列遍历指定目录下的所有文件(树形结构) * 指定目录为根节点,指定目录下的其他目录为子节点 **/ private List<File> getAllFile(String path) { List<File> reFiles = new ArrayList<File>(); //创建队列 Queue<File> queue = new LinkedList<File>(); //得到指定目录,并将该目录入列 File root = new File(path); queue.offer(root); //队列不为空时进行遍历 while (!queue.isEmpty()) { //节点出列(第一次遍历时,该节点为根节点,其余为子节点) File file = queue.poll(); //获取节点的子节点及叶子节点 File[] files = file.listFiles(); for (File f : files) { //验证节点是否为叶子节点,也就是文件 if (f.isFile()) { reFiles.add(f); } else { queue.offer(f); } } } return reFiles; }
通过队列遍历树形结构(指定目录下的所有文件)
最新推荐文章于 2023-04-01 11:02:06 发布