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

相关推荐
kingx35 分钟前
Windows Server 2008 应急加固实战:7 项入侵痕迹排查与修复
数据库·windows·提权·应急响应·加固
赵小哥要冲啦12 分钟前
社区邻里互助小程序从 0 到 1 复盘:需求拆解与信任机制设计
java·小程序·需求分析
xiaogai_gai16 分钟前
采购业务退款单同步实战:从钉钉审批流到金蝶云星空付款单
java·数据库·钉钉
二哈赛车手37 分钟前
新人笔记---hermes定时功能设计,具体讲解以及可优化点
java·人工智能·笔记·spring·ai·typescript
ZWZhangYu42 分钟前
从 Dify 实践理解大模型上下文缓存
java·后端·spring
小熊恋旧1 小时前
Python 面向对象编程:方法、属性、继承与多态详解
开发语言·python
云边云科技_云网融合1 小时前
面向汽车零部件制造业场景的解决方案 | 70 秒:一台车下线的时间里,藏着五张网
开发语言·汽车·php
Evand J1 小时前
【PMSM滤波例程2】PMSM未知负载转矩观测EKF。MATLAB例程(负载增广EKF与实际仿真结果)。附下载链接
开发语言·matlab·电机
小羊没烦恼!1 小时前
关于分布式锁原理的一些学习与思考-redis分布式锁,zookeeper分布式锁
java·服务器·网络·学习·负载均衡
will_net1 小时前
apollo 站点部署&C#接入
开发语言·c#·apollo