系统简介

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

    任务例子:喝水.吃饭动作需要耗时1S 单任务:(耗时20s) for i in range(10): print('a正在喝水') time.sleep(1) print('a正在吃饭') time. ...

  3. SpringSecurity权限管理系统实战—九、数据权限的配置

    目录 SpringSecurity权限管理系统实战-一.项目简介和开发环境准备 SpringSecurity权限管理系统实战-二.日志.接口文档等实现 SpringSecurity权限管理系统实战-三 ...

  4. 基于ABP 底层代码生成器

    ABPBuilder.Tools 基于ABP 底层代码生成器 界面预览: 生成结果: 界面很简单,输入数据库连接字符串,选择要生成的表后,就能在桌面生成底层代码,然后复制到项目里即可. 做这个生成器的 ...

  5. 为什么网站URL需要设置为静态化

    http://www.wocaoseo.com/thread-95-1-1.html       为什么网站URL需要静态化?网站url静态化的好处是什么?现在很多网站的链接都是静态规的链接,但是网站 ...

  6. PCIe例程理解(一)用户逻辑模块(接收)仿真分析

    前言 本文从例子程序细节上(语法层面)去理解PCIe对于事物层数据的接收及解析. 参考数据手册:PG054: 例子程序有Vivado生成: 为什么将这个内容写出来? 通过写博客,可以检验自己理解了这个 ...

  7. 【Android】Android开发实现进度条效果,SeekBar的简单使用。音量,音乐播放进度,视频播放进度等

    作者:程序员小冰,GitHub主页:https://github.com/QQ986945193 新浪微博:http://weibo.com/mcxiaobing 首先给大家看一下我们今天这个最终实现 ...

  8. shader效果

    Unity Shader - 消融效果原理与变体 https://www.jianshu.com/p/d8b535efa9db

  9. Shader 语义

    在书写HLSL shader程序时,输入和输出变量需要拥有他们 含义来表明语义.这在HLSL shader中是一个标准的做法. Vertex shader 输入语义 主顶点着色器函数(被指令 #pra ...

  10. .NET Core 中导入导出Excel

    操作Excel是一个比较常见的业务场景,本篇将使用EPPlus简单演示一个导入导出的示例. EPPlus开源地址:https://github.com/EPPlusSoftware/EPPlus 在项 ...