//使用递归
public static void getDirByRecur(File dir) {
File[] childDirs=dir.listFiles();
if(childDirs==null) {
return;
}
for (File childDir : childDirs) {
System.out.println(childDir.getName());
if(childDir.isDirectory())
getDirByRecur(childDir);
}
}
//使用队列
public static void getDir(File dir) {
Queue<File> queue=new LinkedList<>();
queue.add(dir);
while(!queue.isEmpty()) {
File topdir=queue.remove();
System.out.println(topdir.getName());
if(topdir.isDirectory()) {
File[] childDirs=topdir.listFiles();
if(childDirs!=null) {
for (File childDir : childDirs) {
queue.add(childDir);
}
}
}
}
本文介绍了两种实现文件目录遍历的方法:一种是使用递归方式,另一种是利用队列进行迭代处理。递归方法直接在当前目录下获取所有子目录并逐一打印;对于每个子目录,继续调用自身进行深度搜索。队列方法则通过先进先出的原则逐层处理目录结构,将当前目录加入队列,并不断移除队首元素进行处理,直至队列为空。
3718

被折叠的 条评论
为什么被折叠?



