小项目---桌面搜索小工具everything

1. 项目简介

  这次的小项目运用了JavaSE的知识,巩固了JavaSE的基础知识,同时也练习了如何将现实问题分析、汇总、抽象、设计,到最终代码实现。
  本次的项目是仿照everything桌面小工具,实现的基于Java语言开发的跨平台的桌面搜索小工具。

2. 项目使用

2.1 项目启动

  在此之前,我们必须自己的电脑由java运行时环境,我们才能成功运行此项目,我们的桌面小工具之所以跨平台都是因为JVM可以跨平台安装。

java -jar everything-1.0.0-cmd.jar [args]

在这里插入图片描述
args:本项参数不存在时,使用默认的配置参数;本项参数存在时,使用参数文件里面的配置参数。
配置文件里面的配置项都有以下几个:

# 最大检索返回的结果数
everything.max_return=40
# 是否开启构建索引,默认是关闭
everything.enable_build_index=false
# 检索时depth深度的排序规则,默认是降序的
everything.order_by_desc=false
# 文件监控的间隔时间
everything.interval=60000
# 索引包含目录,默认是C:\;D:\;E:\
everything.handle_path.include_path=C:\\;D:\\;E:\\
# 索引排除目录,默认是C:\Windows;C:\Program Files;C:\Program Files (x86);C:\ProgramData
everything.handle_path.exclude_path=C:\\Windows;C:\\Program Files;C:\\Program Files (x86);C:\\ProgramData
2.2 项目功能

  当我们项目启动之后,我们只看到了一个>>这个符号,所以我们可以先输入help查看帮助手册。
在这里插入图片描述

2.3 功能实现截图

搜索:从上面的搜索显示,我们可以看出,搜索采用的是模糊搜索;当我们没有输入类型时,会弹出当前文件名的所有类型的模糊搜索。
在这里插入图片描述
在这里插入图片描述

3. 项目使用到的技术

  • JavaSE(Stream流、文件相关操作、多线程)
  • 数据库连接池Database(嵌入式数据库H2)
  • JDBC编程(用于数据库与Java语言的交流)
  • 文件系统监听(Apache Commons IO)
  • Lombok库(IDEA安装Lombok插件)

4. 项目的功能

  • 跨平台使用:项目使用了java语言进行开发,可跨平台使用。
  • 参数配置可控性:项目中使用的通过命令行参数传入配置文件,即如果我们想要不查询某个目录、必须查询某个目录、查询文件输出按照深度升序或降序、一次查询输出的文件的最大个数。
  • 文件名模糊查询: 该项目中使用的是后模糊,即你输入“Java”,它会输出以Java字样开头的所有文件的地址。
  • 指定文件类型查询: 该项目暂且将它分为DOC(文档类)、IMG(图片类)、BIN(可执行文件类)、ARCHIVE(压缩文件类)、OTHER(其他类)五大类,当输入你想查询的文件类型,只会输出该文件类型的文件地址。
  • 文件监听: 本项目的一大技术难点,就是当你查询文件时,是在数据库中查询文件地址,但当你本地新增或删除文件时,数据库里面的信息应该随着一起更改,这部分就是实现该项功能。

5. 项目的功能模块

根据交互分析,进行功能模块的划分如图所示:
在这里插入图片描述

6. 扩展思路

  • 界面美化设置,不需要在命令行实现。
  • 项目中的检索文件是采用文件名后模糊匹配,可以改进为前后模糊匹配。
  • 不需要强制要求使用者电脑上必须有Java运行时环境,即可运行成功。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值