系统简介

最近有个需求,需要罗列出各个目录中文件的信息,检索各类文件的最新版本。网上看了很多方式,但发现没有合适的。于是利用空余时间开始编写了一套文件遍历系统,如此便有了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. 第6篇 Scrum 冲刺博客

    1.站立会议 照骗 进度 成员 昨日完成任务 今日计划任务 遇到的困难 钟智锋 重构游戏逻辑代码 改写部分客户端代码,制作单机版 庄诗楷 进行了相关的装饰改进 与其他部分合成完成游戏 合成遇到bug, ...

  2. C++奇淫技巧

    一.关于:的妙用 如下代码 #include<cstdio> #include<iostream> typedef struct point{ int a; int b; po ...

  3. muduo源码解析4-exception类

    exception class exception:public std::exception { }; 作用: 实现了一个异常类,继承于std::exception,主要用于实现打印线程调用栈信息. ...

  4. Linux操作命令和工具使用

    lrzsz是一个unix通信套件提供的X,Y,和ZModem文件传输协议. windows 需要向centos服务器上传文件,可直接在centos上执行命令yum -y install lrzsz 程 ...

  5. javascript正则用法

    一.元字符 .      匹配除了换行符以外的字符. \w   匹配字母或者数字或者下划线 \W  匹配不是字母.数字.下划线 \d   匹配数字,相当于[0-9] \D  匹配不是数字的字符 \s  ...

  6. “路由大当家”OSPF的小秘密

    引入 OPSF是应用最广的路由协议,基本上,所有的IGP用到的都是OSPF,下面我们看看它的“小秘密” 优点: •没有跳数限制 •使用组播更新变化的路由和网络信息 •路由收敛速度较快 •以开销(Cos ...

  7. go语言基础实例

    一:变量 1)变量声明 func main() { var v1 int var v2 int //一次声明多个变量 var ( v3 int v4 int ) //变量最开始会有一个零值 fmt.P ...

  8. 一张图对比React、Angular、Vue.js

    文章原文地址:https://baijiahao.baidu.com/s?id=1609374985643812253&wfr=spider&for=pc

  9. 硬盘网盘U盘全部可以丢掉了,这个设备可以让你享受随身带着几个T的感受

    前言 有小伙伴问我,你怎么老写技术类文章,能不能写点别的. 其实我兴趣挺广泛的,早年还有机会做个游戏博主,可惜最近2年金盆洗手了.戒了手游,ns和ps4都在吃灰.能完整玩完的游戏屈指可数.但是对于折腾 ...

  10. rake

    ruby-rake https://rubygems.org/gems/rake 官方文档 https://ruby.github.io/rake/ http://docs.seattlerb.org ...