java 根据文件名获取文件下的所有文件
时间: 2023-12-18 18:06:04 浏览: 46
可以使用 Java 的文件操作类 `java.io.File` 来实现根据文件名获取文件下的所有文件。具体实现步骤如下:
1. 创建一个 `File` 对象,指定要获取文件列表的文件夹路径。
2. 调用 `listFiles()` 方法获取该文件夹下的所有文件和文件夹列表。
3. 遍历文件列表,判断每个文件是否为文件夹,如果是文件夹,则递归调用该方法获取子文件夹下的所有文件。
4. 如果是文件,则将其添加到文件列表中。
下面是一个示例代码:
```java
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class GetFilesByName {
public static void main(String[] args) {
String folderPath = "D:\\test"; // 文件夹路径
String fileName = "test.txt"; // 文件名
List<File> fileList = getFilesByName(folderPath, fileName);
for (File file : fileList) {
System.out.println(file.getAbsolutePath());
}
}
/**
* 根据文件名获取文件夹下的所有文件
* @param folderPath 文件夹路径
* @param fileName 文件名
* @return
*/
public static List<File> getFilesByName(String folderPath, String fileName) {
List<File> fileList = new ArrayList<>();
File folder = new File(folderPath);
if (!folder.exists() || !folder.isDirectory()) {
return fileList;
}
File[] files = folder.listFiles();
for (File file : files) {
if (file.isDirectory()) {
fileList.addAll(getFilesByName(file.getAbsolutePath(), fileName));
} else if (file.getName().equals(fileName)) {
fileList.add(file);
}
}
return fileList;
}
}
```
在上面的示例代码中,我们定义了一个 `getFilesByName()` 方法,该方法接收两个参数:文件夹路径和文件名,返回该文件夹下所有指定文件名的文件列表。程序运行时,我们指定了文件夹路径和文件名,然后调用该方法获取文件列表,并将其打印输出。