#知识碎片# 遍历文件夹以及子文件

#知识碎片#

遍历文件夹,文件,相当于代码模板

这个是在写文件同步时提取出来的文件夹遍历,用的是广度优先遍历,如有需要可直接替换路径即可使用。

import java.io.File;
import java.util.*;
public class Test {
public static void main(String[] args) {
//直接替换成自己本地路径即可使用
File root=new File("C:\\Users\\admin\\Desktop\\test");
//判空
if(root==null) return;
//文件夹队列
Queue<File> fileQueue=new LinkedList<>();
//当前队列长度
int curQueueSize=0;
//当前文件
File cur;
//子文件集合
List<File> files;
//先将根'/'放入队列
fileQueue.offer(root);
while(fileQueue.size()>0){
//上一层的文件夹个数
curQueueSize=fileQueue.size();
//遍历上一层文件夹
while(curQueueSize>0){
curQueueSize--;
cur=fileQueue.peek();
fileQueue.poll();
//取出cur中的文件与文件夹
files= Arrays.asList(cur.listFiles());
int i=0;
while(files.size()>i){
//判断是否为文件夹
if(files.get(i).isDirectory()){
//文件夹加入队列
fileQueue.offer(files.get(i));
//其他操作
System.out.println("文件夹名:"+files.get(i).getName());
}else{
//文件操作
System.out.println("文件名:"+files.get(i).getName());
};
i++;
}
}
}
}
}


0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
下载 APP