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

相关推荐
nbsaas-boot14 分钟前
Java 正则表达式白皮书:语法详解、工程实践与常用表达式库
开发语言·python·mysql
岁忧16 分钟前
(LeetCode 面试经典 150 题 ) 11. 盛最多水的容器 (贪心+双指针)
java·c++·算法·leetcode·面试·go
chao_78918 分钟前
二分查找篇——搜索旋转排序数组【LeetCode】两次二分查找
开发语言·数据结构·python·算法·leetcode
CJi0NG20 分钟前
【自用】JavaSE--算法、正则表达式、异常
java
风无雨1 小时前
GO 启动 简单服务
开发语言·后端·golang
Hellyc1 小时前
用户查询优惠券之缓存击穿
java·redis·缓存
斯普信专业组1 小时前
Go语言包管理完全指南:从基础到最佳实践
开发语言·后端·golang
今天又在摸鱼1 小时前
Maven
java·maven
老马啸西风1 小时前
maven 发布到中央仓库常用脚本-02
java·maven
代码的余温1 小时前
MyBatis集成Logback日志全攻略
java·tomcat·mybatis·logback