JAVA如何根据关键字和文件目录查找文件
时间: 2024-02-10 10:10:37 浏览: 31
JAVA可以使用以下代码实现根据关键字和文件目录查找文件:
```java
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
public class FileSearch {
public static void main(String[] args) {
String keyword = "example"; // 关键字
String directory = "C:/example/directory"; // 文件目录
List<String> result = search(keyword, directory);
System.out.println(result);
}
public static List<String> search(String keyword, String directory) {
List<String> result = new ArrayList<>();
File[] files = new File(directory).listFiles();
for (File file : files) {
if (file.isDirectory()) {
result.addAll(search(keyword, file.getAbsolutePath()));
} else {
try {
String content = new String(Files.readAllBytes(Paths.get(file.getAbsolutePath())), StandardCharsets.UTF_8);
if (content.contains(keyword)) {
result.add(file.getAbsolutePath());
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
return result;
}
}
```
该代码使用递归方式遍历指定目录下的所有文件,如果是文件夹则继续遍历,如果是文件则读取文件内容并查找关键字,如果包含关键字则将文件路径添加到结果列表中。