4、文件搜索:编写一个程序,从指定的目录中搜索特定文件名的文件,并输出符合条件的文件列表。
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class Work11 {
public static void main(String[] args) {
String directoryPath = "目标文件夹路径"; // 指定要搜索的目录路径
String targetFileName = "目标文件名"; // 指定要搜索的目标文件名
List<String> fileList = searchFiles(directoryPath, targetFileName); // 调用搜索文件的方法
if (fileList.isEmpty()) {
System.out.println("没有找到符合条件的文件。");
} else {
System.out.println("符合条件的文件列表:");
for (String file : fileList) {
System.out.println(file);
}
}
}
public static List<String> searchFiles(String directoryPath, String targetFileName) {
List<String> fileList = new ArrayList<>(); // 存储符合条件的文件路径列表
File directory = new File(directoryPath);
if (!directory.isDirectory()) { // 判断给定路径是否为目录
System.out.println("指定路径不是一个有效目录。");
return fileList;
}
File[] files = directory.listFiles(); // 列出目录下的所有文件和子目录
if (files != null) {
for (File file : files) {
if (file.isFile() && file.getName().equals(targetFileName)) { // 判断是否为文件并且文件名匹配
fileList.add(file.getAbsolutePath()); // 将符合条件的文件路径添加到列表中
}
if (file.isDirectory()) { // 如果是子目录,则递归地搜索子目录中的文件
fileList.addAll(searchFiles(file.getAbsolutePath(), targetFileName));
}
}
}
return fileList;
}
}