public static List<File> getAllFile(String dirFilePath) {
return getAllFile(new File(dirFilePath));
}
/**
* 获取指定文件夹下所有文件,含文件夹里的文件
*
* @param dirFile 文件夹
* @return
*/
public static List<File> getAllFile(File dirFile) {
// 如果文件夹不存在或着不是文件夹,则返回 null
if (Objects.isNull(dirFile) || !dirFile.exists() || dirFile.isFile()) {
return null;
}
File[] childrenFiles = dirFile.listFiles();
if (Objects.isNull(childrenFiles) || childrenFiles.length == 0) {
return null;
}
List<File> files = new ArrayList<>();
for (File childFile : childrenFiles) {
// 如果是文件,直接添加到结果集合
if (childFile.isFile()) {
files.add(childFile);
}
else {
// 如果是文件夹,则将其内部文件添加进结果集合
List<File> cFiles = getAllFile(childFile);
if (Objects.isNull(cFiles) || cFiles.isEmpty()) {
continue;
}
files.addAll(cFiles);
}
}
return files;
}
递归获取指定文件夹下所有文件
于 2023-02-15 19:22:42 首次发布
该代码片段是用Java实现的一个静态方法,用于获取给定目录路径下的所有文件和子目录中的文件。它首先检查给定的路径是否为有效文件夹,然后遍历文件夹及其子文件夹,将所有文件添加到列表中返回。
1522

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



