Java实现一个在windows环境下的文件搜索引擎

以下是一个简单的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)。如果找到匹配的文件,将会打印出它们的绝对路径。

相关推荐
消失的旧时光-19431 分钟前
从拷贝到移动:C++ 移动构造与移动赋值是怎么被逼出来的?(附完整示例)
开发语言·c++
古译汉书2 分钟前
部分.exe文件打开但是一直显示界面,点击任务栏持续无反应
开发语言·单片机·嵌入式硬件
码农阿豪6 分钟前
Oracle 到金仓数据库迁移实战:一次真正“落地”的国产替代之旅
java·数据库·oracle
2301_817497336 分钟前
C++中的装饰器模式高级应用
开发语言·c++·算法
m0_5494166610 分钟前
C++编译期字符串处理
开发语言·c++·算法
m0_5811241910 分钟前
C++中的适配器模式实战
开发语言·c++·算法
Coding茶水间16 分钟前
基于深度学习的狗品种检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
开发语言·人工智能·深度学习·yolo·目标检测·机器学习
£漫步 云端彡24 分钟前
Golang学习历程【第十篇 方法(method)与接收者】
开发语言·学习·golang
小王不爱笑13226 分钟前
SpringBoot 整合 Ollama + 本地 DeepSeek 模型
java·spring boot·后端
毕设源码-钟学长27 分钟前
【开题答辩全过程】以 高校宿舍分配系统设计与实现为例,包含答辩的问题和答案
java