系统简介

最近有个需求,需要罗列出各个目录中文件的信息,检索各类文件的最新版本。网上看了很多方式,但发现没有合适的。于是利用空余时间开始编写了一套文件遍历系统,如此便有了Laver(紫菜)。Laver遵从简单好用的原则,用户友好的UI界面。且所有代码基于Java,每一个自定义的类与方法都有详尽的纯中文注释信息,方便二次开发。

Laver,最初起自Lastest Version,发现两者结合后正好是我喜欢的蔬菜之一。缘,妙不可言。

功能演示

功能说明

  • 遍历目录:可以对选中的根目录进行深度遍历,检索出所有的文件及其父目录与完整路径信息。
  • 格式限定:支持对需要检索的文件格式进行限定,内置常用的文档格式(WPS,PDF等),且支持用户自定义格式。
  • 检索深度:支持对深度进行限定,当检索深度为1时,可检索根目录下一层目录的所有文件
  • 检索模式*:(当前正在开发中)支持对检索方式进行定义,系统自带匹配文件名中带有ver,_v,Ver等版本标识符的字符串,对其后面的版本号进行分析,只列出最新版本的文件。或者用户自定义的其他类型字符串。
  • 检索结果可排序:对检索的结果可以根据字典顺序迅速找到你需要查找的文件,适用于文件找不到的情况。
  • 检索结果可导出:检索到的信息可以生成Excel,方便文档归档与后续分类

快速开始

你可以通过git下载可执行的exe文件。下载链接为http://www.github.com/heicaijun/Laver/release,让我们通过简单的学习开始使用吧!

基础功能使用

  1. 首先设定需要扫描的根目录,选择你需要扫描的文件夹。

  1. 选定你需要扫描的文件类型,勾选all选项以列出所有类型文件。也可以用系统筛选出wps,pdf等常用的文件类型,你甚至可以选择other选项自定义要扫描的格式

  1. 设定需要扫描的深度,0代表无限层(由于其底层算法为递归,所以请避免检索文件过多的根目录,或通过扫描格式与扫描深度来限制,以免程式卡死),输入120可以扫描根目录下的120级子目录

  1. 点击开始扫描即可运作,扫描到的结果将会列入到下方的表格中。

  1. 点击导出结果至Excel按钮可以将扫描到的内容保存到Excel中,方便后续使用Excel工具来处理扫描数据。

高级功能使用

如您对如下表述存在疑问,则不建议使用这些功能。您可以通过留言提出疑问

  1. 扫描的格式可以是用户自定义的格式,方便用户列出自己需要检索但系统未自带的特殊格式文件,用户可以在其他格式框内输入用逗号隔开的多个文件后缀名,比如用户可以在框内输入"cad,psd,png,gif"来检索出所有需要的图片。

  1. 扫描的模式可以选择三种不同的模式
扫描模式 描述
全扫描 即无论是什么版本的文件都会将之全部扫描出来
最新版本模式 系统自带的规则,可以根据文件名中的[version,ver,v]这三种版本标识符来整理出版本号,并过滤掉旧版本
自定义规则 你可以在输入框中输入用英文逗号隔开的版本标识,诸如[ 版本,文档,spec ]。

需要注意的是,版本标识符特指文件名中可以明显区分版本号的字符,比如文件Sample File Ver_1.0.1.xlsx标本标识符即为ver,不难发现自ver到文件末尾均为数字与连接字符。所以版本标识符到文件末尾不允许出现除数字与通用的连接符(诸如:_ ( ) [ ] - ( ) 等)外的其他任何字符。否则系统将无法判断文件是否为同一文件的不同版本。

开发指南

如果你想要学习、开发、修改或自行构建Laver,可以依照下面的指示:

  1. 掌握基础的java知识(尤其是java.util.IO类)
  2. 掌握Swing开发,熟悉WindowBuilder插件的使用
  3. 熟悉git版本管理工具的使用,至少会pull操作。

环境搭建

基础开发环境

jdk版本至少为1.7,开发工具建议Eclipse,网上教程很多,这里不赘述。如选择IDEA请对应安装JFormDesigner插件(收费插件)

WindowBuilder插件安装

考虑到国内用户下载国外源的时候会报错,所以建议使用国内源下载

  1. 进入 WindowBuilder 的官网 : https://www.eclipse.org/windowbuilder/download.php。
  2. 选择 1.9.3 的 link , 右键点击,复制连接地址:http://download.eclipse.org/windowbuilder/1.9.3/ , 这个是官方提供的下载源。

  1. 将官方下载源修改为国内的:
http://download.eclipse.org/windowbuilder/1.9.3/
http://mirror.bit.edu.cn/eclipse/windowbuilder/1.9.3/
  1. 依次点开Help ->Install New Software

  1. 点击Add...按钮 ,将国内源:http://mirror.bit.edu.cn/eclipse/windowbuilder/1.9.3/ 复制到Location框中,Name可以随便起,这里起WindowBuilder,然后点击Add

  1. 点击 Select All , 点击 *next* 开始下载。路上一路狂点Next即可

  1. 最后点击I Accept 表示接受,并点击Finish即可等待安装完成。

Laver 文件版本遍历器的更多相关文章

  1. HTML5文件上传器,纯脚本无插件的客户端文件上传器---Uploader 文件上传器类

    概述 客户端完全基于JavaScript的 浏览器文件上传器,不需要任何浏览器插件,但需要和jQuery框架协同工作,支持超大文件上传,其算法是将一个超大文件切片成N个数据块依次提交给服务 端处理,由 ...

  2. 疑问:Iterator 遍历器和数据集合各种遍历方法的区别

    https://es6.ruanyifeng.com/#docs/iterator Iterator(遍历器)的概念 Iterator 接口主要供for...of消费 Iterator 的遍历过程是: ...

  3. Java有根儿:Class文件以及类加载器

    JVM 是Java的基石,Java从业者需要了解.然而相比JavaSE来讲,不了解JVM的一般来说也不会影响到工作,但是对于有调优需求或者系统架构师的岗位来说,JVM非常重要.JVM不是一个新的知识, ...

  4. 自制C#版3DS文件的解析器并用SharpGL显示3DS模型

    自制C#版3DS文件的解析器并用SharpGL显示3DS模型 我已经重写了3ds解析器,详情在此(http://www.cnblogs.com/bitzhuwei/p/CSharpGL-2-parse ...

  5. lua使用io.open跨平台文件夹遍历匹配查找

    -- Desc :实现在LUA_PATH中的lua文件中遍历寻找没用到PNG_PATH路径下的png图片,并将其打印出来. -- Date :12:49:28 2014-09-04 1 print(& ...

  6. Iterator遍历器 调用Symbol.Iterator属性,遍历器对象。

    Iterator实现原理 创建一个指针对象,指向当前数据结构的起始位置.也就是说,遍历器对象本质上,就是一个指针对象. 第一次调用指针对象的next方法,可以将指针指向数据结构的第一个成员. 第二次调 ...

  7. ORA-00214: control file 控制文件版本不一致

    故障现象:今日学习oracle控制文件移动和修改,发现本机安装oracle数据库启动时只使用了一个控制文件.如下:SQL> select * from V$controlfile; STATUS ...

  8. python学习笔记(六)文件夹遍历,异常处理

    python学习笔记(六) 文件夹遍历 1.递归遍历 import os allfile = [] def dirList(path): filelist = os.listdir(path) for ...

  9. 文件MD5查看器工具与源码实现及下载

    由于工作中经常需要查看文件的MD5值,先前网上找了几个MD5值查看工具,但基本都是选择文件,还没有复制功能,于是今天我就自己编写了个MD5查看工具,支持文件拖拽查看,并可以复制功能. 由于本工具比较小 ...

随机推荐

  1. Paillier同态加密实现

    一.C++(该方案只实现了加密以及解密) 1.git clone https://github.com/klei0229/paillier.git 2.下载GMP与NTL包: 下载版本以及操作参见ht ...

  2. php 解决表单重复提交实现方法介绍

    重复提交是我们开发中会常碰到的一个问题,除了我们使用js来防止表单的重复提交,同时还可以使用php来防止重复提交哦. 例1  代码如下 复制代码 <?php/* * php中如何防止表单的重复提 ...

  3. IDEA下Maven项目搭建踩坑记----2.项目编译之后 在service层运行时找不到 com.dao.CarDao

    项目写的差不多 想运行一下,然后发现运行到Service层的时候报错说找不到Dao层文件 ,纠结半天之后看了下编译好的项目文件,发现mapper文件下边是空的, 于是就百度找一下原因,结果说是IDEA ...

  4. Qt 如何使窗体初始最大化

    Qt 如何使窗体初始最大化 使用以下函数即可解决: void QWidget::setWindowState ( Qt::WindowStateswindowState ) 这样的函数,通过它可以设置 ...

  5. [PyTorch 学习笔记] 3.2 卷积层

    本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson3/nn_layers_convolution.py 这篇文 ...

  6. 注册github时总卡在第一步无法验证的解决办法

    从github官网可以看出问题所在,所以造成这一问题的极大可能就是浏览器的问题. 最简单的方法就是换手机浏览器进行注册

  7. laravel5学习并搭建网站【更新至2020-09-03】

    之前一直不清楚 php artisan 要如何使用,有朋友推荐使用phpstorm可以进行命令行执行, 现在发现其实如果真的不喜欢phpstorm的加载缓慢,可以试试计算机原有的命令行 记住需要跳转到 ...

  8. java基础(swing+jsp+mybatis配置)

    JAVA SE GUI编程(swing) # 组件 描述 1 JFrame 一个普通的窗口(绝大多数 Swing 图形界面程序使用 JFrame 作为顶层容器) 2 JDialog 对话框 常用的中间 ...

  9. Eclipse的安装和配置

    1. 下载Eclipse 前往Eclipse官网(https://www.eclipse.org/downloads/packages/)下载Eclipse: 这里下载的版本为: 这里给出该版本的百度 ...

  10. 目标检测中的IOU和CIOU原理讲解以及应用(附测试代码)

    上期讲解了目标检测中的三种数据增强的方法,这期我们讲讲目标检测中用来评估对象检测算法的IOU和CIOU的原理应用以及代码实现. 交并比IOU(Intersection over union) 在目标检 ...