基于Java语言开发的仿Everything命令行文件搜索工具

一、项目简介

仿照Everything桌面工具,基于Java语言开发的命令行文件搜索工具,用于在Windows命令行下查询一些文件,基于Java语言开发的工具可以在Windows平台和Linux平台上无差异使用。本项目使用IDEA和Maven工具开发,主要用到了Java文件操作、嵌入式H2数据库、JDBC、Lombok库、Java多线程和文件监控系统。

二、Everything功能实现分层结构图

在这里插入图片描述

三、功能具体实现

1.模型

文件类型(FileType 比如:img -> png jpeg jpg bmp gif bmp … )
 检索条件(Condition name filetype limit order … )
 Thing (name, path ,depth , filetype)

2.数据库

本地系统中的文件或者文件夹 ->Java File -> Java Thing -> 数据库中的记录Table
 数据库创建(everything_g2)
 数据库表的设计:
在这里插入图片描述
 JDBC -> 数据库的驱动,数据库连接池(Druid)

3.Lombok

第一步:在maven的配置中引入Lombok库
 第二步:在IDEA中安装Lombok Plugin
 第三步:在IDEA中启用注解处理器

4.index索引

由后台线程执行,在构建索引时用户依然可以执行其他命令。
在这里插入图片描述

5.检索search

用户输入search 文件名称 文件类型名称,打印符合用户输入的检索路径。
在这里插入图片描述

6.文件监控系统

只监控指定目录,不常用系统下的目录不监控。主要使用以下类的方法:
 FileAlterationListenerAdaptor
 FileAlterationMonitor
 FileAlterationObserver
 把要监控的path传入到monitor()方法中,在规定时间内监听一次。

四、运行结果示例

在这里插入图片描述

五、源码

发布了87 篇原创文章 · 获赞 73 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/HL_HLHL/article/details/102512030