定义静态方法List<File> listAllFiles(String path),找到指定路径下的所有文件(不包含目录)的文件, 并将找到的结果构建为一个List集合返回。
时间: 2024-12-18 09:22:30 浏览: 7
在FileTools工具类中,我们可以定义一个静态方法`listAllFiles`,用于获取给定路径下所有的文件。这个方法通常会利用Java的File类提供的API来遍历指定路径并过滤出文件实体。以下是这个方法的一个简单实现:
```java
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class FileTools {
public static List<File> listAllFiles(String path) {
List<File> fileList = new ArrayList<>();
File directory = new File(path);
if (!directory.exists() || !directory.isDirectory()) {
throw new IllegalArgumentException("Invalid path or not a directory: " + path);
}
File[] files = directory.listFiles((dir, name) -> name.isFile()); // 只选择文件忽略目录
if (files != null) {
for (File file : files) {
fileList.add(file);
}
}
return fileList;
}
}
```
此方法首先检查给定的路径是否有效并且确实是一个目录。然后,通过`listFiles`方法递归地查找子文件夹,并通过传入的lambda表达式作为筛选条件,只保留那些名字表示为文件(而不是目录)的元素。最后,将所有找到的文件添加到一个ArrayList中并返回。
阅读全文