Java遍历查找指定目录下包含关键字的的所有文件
1、查找文件方法:
/**
*查找文件
* @param folder 文件夹
* @param keyword 文件名包含的关键字
*/
public static List<File> searchFiles(File folder, String keyword) {
List<File> result = new ArrayList<>();
if (folder.isFile())
result.add(folder);
//遍历文件
File[] fileList = folder.listFiles(new FileFilter() {
@Override
public boolean accept(File file) {
if (file.isDirectory()) {
return true;
}
if (file.getName().toLowerCase().contains(keyword)) {
return true;
}
return false;
}
});
if (fileList != null) {
for (File file : fileList) {
if (file.isFile()) {
//如果是文件将文件添加到result列表中
result.add(file);
} else {
//如果是文件夹,则递归调用本方法,然后把所有的文件加到result列表中
result.addAll(searchFiles(file, keyword));
}
}
}
return result;
}
.toLowerCase()都转成小写
2、删除文件方法
/**
*删除文件
* @param fileName 文件名
*/
public static void deleteFile(String fileName){
File file = new File(fileName);
if(file.exists()) {
file.delete();
System.out.println(fileName+"文件删除成功");
}
}
查找文件和删除文件调用
public class test55 {
public static void main(String[] args){
List<File> files = searchFiles(new File("./"), "result");
System.out.println("当前目录共找到:" + files.size() + "个文件");
for (File file : files) {
System.out.println(file.getAbsolutePath());
deleteFile(file.getAbsolutePath());
}
}
}
执行结果:
共找到:1个文件
D:\java_project2022\maventest\.\result.csv
D:\java_project2022\maventest\.\result.csv文件删除成功
本文介绍了一种使用Java实现的文件搜索方法,该方法能够遍历指定目录并查找包含特定关键字的所有文件。此外,还提供了一个简单的文件删除功能。通过递归方式处理文件夹结构,确保所有符合条件的文件都被正确地识别。

980

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



