以下是一个简单的Java实现的Windows文件搜索引擎的示例代码:
java
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class FileSearchEngine {
public static void main(String[] args) {
String searchDirectory = "C:/"; // 搜索的目录
String searchQuery = "example.txt"; // 搜索的文件名或关键字
List<String> results = searchFiles(searchDirectory, searchQuery);
if (results.isEmpty()) {
System.out.println("未找到匹配的文件.");
} else {
System.out.println("找到以下匹配文件:");
for (String file : results) {
System.out.println(file);
}
}
}
public static List<String> searchFiles(String directory, String searchQuery) {
List<String> results = new ArrayList<>();
File folder = new File(directory);
File[] files = folder.listFiles();
if (files != null) {
for (File file : files) {
if (file.isDirectory()) {
results.addAll(searchFiles(file.getAbsolutePath(), searchQuery));
} else if (file.getName().toLowerCase().contains(searchQuery.toLowerCase())) {
results.add(file.getAbsolutePath());
}
}
}
return results;
}
}
上述代码会在指定目录(searchDirectory
)及其子目录中搜索指定文件名或关键字(searchQuery
)。如果找到匹配的文件,将会打印出它们的绝对路径。