DIY文件查询项目

项目源码

DIY文件查询项目

项目简介

DIY一个everything小工具,基于Java语言开发,使用命令行交互实现Windows/Linux下对文件的快速检索功能,支持文件名模糊查询、文件类型查询

项目来源

因为在windows下搜索文件时间非常的长,经过查询知道everything这个工具,觉得很实用所以自己DIY实现了一款相似功能的文件搜索工具

项目意义

  • 对JavaSE基础知识,多线程,JDBC和数据库的练习。
  • 方便Windows下对文件的查找

项目技术

  • JavaSE
  • Java多线程、线程池
  • JDBC编程
  • 嵌入式数据库H2
  • Apache Commons IO库
  • 接口编程

项目描述

  • 项目采用分层结构,分别是数据库交互层、文件操作层、管理层、命令行交互层
  • 使用JDBC编程实现对数据库的操作
  • 采用多线程和IO技术进行文件搜索
  • 管理层对核心方法进行统一调度实现具体功能
  • 命令行交互层使用命令调用具体功能调用

实现过程

在这里插入图片描述

模型
  • 定义出一般检索的文件类型,检索文件的基本信息,数据库中表的存储结构
  • 文件类型(FileType 比如:img -> png jpeg jpg bmp gif bmp … )
  • 检索条件(Condition name filetype limit order)
  • Thing (name, path ,depth , filetype)
数据库
  • 使用JDBC进行Java和数据库之间的交互
  • 使用DruidDataSource(数据源)对象获取数据库连接
  • 本地系统中的文件或者文件夹 --> Java File --> Java Thing --> 数据库中的记录
索引
  • 进行数据库访问工作
  • 遍历文件系统中所有文件,对一些特殊文件或目录进行排除,将文件对象转换为Thing对象,调用数据库访问的插入操作
  • 将Thing对象插入到数据库
检索
  • 进行数据库访问工作
  • 实现查询功能

命令

>>help 
>命令列表: 
>退出:quit 
>帮助:help 
>索引:index 
>搜索:search <name> [<file-Type> img | doc | bin | archive | other]

效果展示

在这里插入图片描述

测试

  • 机器信息
    处理器:Intel(R ) Core™ i5-7200U CPU @ 2.50GHZ
    内存(RAM):8.00GB(7.90GB可用)
    固态硬盘:SSD
  • 软件信息
    H2嵌入式文件存储,版本1.4.197
  • 测试数据
    本地系统文件数量:562678
需求分析

这个项目需要实现一下需求

  • 显示操作指南
  • 按照文件名称查询
  • 按照文件类型查询
  • 可以进行索引本地文件到数据库
  • 可以对本地文件和数据库文件进行同步
  • 安全退出
测试计划
  • 首先在开发过程中伴随着简单的单元测试和集成测试
  • 接着按照需求分析进行功能测试
  • 最后进行查询和索引方面的性能测试
测试用例

在这里插入图片描述

  • 索引效率
    在这里插入图片描述
    结论:有索引会影响数据的写入效率
  • 检索效率
    在这里插入图片描述
    结论:有索引查询效率有大幅度的提升
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值