Java怎么遍历文件夹

73次阅读
没有评论

共计 1632 个字符,预计需要花费 5 分钟才能阅读完成。

本篇内容主要讲解“Java 怎么遍历文件夹”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让丸趣 TV 小编来带大家学习“Java 怎么遍历文件夹”吧!

/** 遍历文件夹 */

public class TraversalFolder {
 *  深度优先遍历文件夹
 *  p 
 *  要点:使用递归的方式来实现。 *
 * [@param](https://my.oschina.net/u/2303379) topFile
 * [@param](https://my.oschina.net/u/2303379) orderedList
 */
public static void depthFirstSearch(File topFile, ArrayList File  orderedList) { if (null != topFile) { if (topFile.isDirectory()) { File[] files = topFile.listFiles();
 for (File file : files) { if (file.isDirectory()) { depthFirstSearch(file, orderedList);
 } else { orderedList.add(file);
 }
 }
 } else { orderedList.add(topFile);
 }
 }
 *  广度优先遍历文件夹
 *  p 
 *  要点:利用栈的先进后出的特点来实现。 *
 * [@param](https://my.oschina.net/u/2303379) topFile
 * [@param](https://my.oschina.net/u/2303379) orderedList
 * [@param](https://my.oschina.net/u/2303379) maxNum
 */
public static void breadthFirstSearch(File topFile, ArrayList File  orderedList, int maxNum) { if (null != topFile) { LinkedBlockingQueue File  queue = new LinkedBlockingQueue File (maxNum);
 queue.offer(topFile);
 while (!queue.isEmpty()) { File file = queue.poll();
 if (file.isDirectory()) { File[] files = file.listFiles();
 for (File f : files) { if (f.isDirectory()) { queue.offer(f);
 } else { orderedList.add(f);
 }
 }
 } else { orderedList.add(file);
 }
 }
 }

 String path =  C:\\Users\\jxn\\Desktop\\ 新建文件夹 (3)  File topFile = new File(path);  ArrayList File  orderedList = new ArrayList (); // depthFirstSearch(topFile,orderedList);  breadthFirstSearch(topFile, orderedList, 100);  orderedList.stream().forEach((x) -  { System.out.println(x.getAbsoluteFile());  }); }

}

到此,相信大家对“Java 怎么遍历文件夹”有了更深的了解,不妨来实际操作一番吧!这里是丸趣 TV 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计1632字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)