Java-File:遍历目录下的所有文件
2023-12-29 16:16:32
一个常用file工具类,用来扫描给定目录下的所有文件,返回对应文件的全路径。
public static ArrayList<Object> scanFilesWithSubPackage(String path) {
ArrayList<Object> scanFiles = new ArrayList<Object>();
LinkedList<File> queueFiles = new LinkedList<File>();
File directory = new File(path);
if (!directory.isDirectory()) {
return null;
} else {
//首先将第一层目录扫描一遍
File[] files = directory.listFiles();
//遍历扫出的文件数组,如果是文件夹,将其放入到linkedList中稍后处理
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
queueFiles.add(files[i]);
} else {
//暂时将文件名放入scanFiles中
scanFiles.add(files[i].getAbsolutePath());
}
}
//如果linkedList非空遍历linkedList
while (!queueFiles.isEmpty()) {
//移出linkedList中的第一个
File headDirectory = queueFiles.removeFirst();
File[] currentFiles = headDirectory.listFiles();
for (int j = 0; j < currentFiles.length; j++) {
if (currentFiles[j].isDirectory()) {
//如果仍然是文件夹,将其放入linkedList中
queueFiles.add(currentFiles[j]);
} else {
scanFiles.add(currentFiles[j].getAbsolutePath());
}
}
}
}
return scanFiles;
}
返回结果示例:
文章来源:https://blog.csdn.net/qq_37181642/article/details/135290187
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!