我开发了一个文件快速搜索软件,欢迎大家试用反馈 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
pxiphx891
0.01D
V2EX    分享创造

我开发了一个文件快速搜索软件,欢迎大家试用反馈

  •  
  •   pxiphx891 2023-02-21 14:57:30 +08:00 3025 次点击
    这是一个创建于 962 天前的主题,其中的信息可能已经有所发展或是发生改变。

    jEverything

    github 地址: https://github.com/aihy/jEverything

    基于 Java Swing 的文件快速搜索软件

    jEverything 索引文件列表,保存到 sqlite 中,搜索时直接搜索 sqlite

    我手边没有 Windows 电脑,因此没有对 Windows 操作系统做适配,部分功能只在 macOS 下可用

    而且 Windows 上已经有Everything了,完全没必要用我这玩意

    功能

    • 使用字符串模糊匹配文件路径
    • 使用空格分隔多个字符串
    • 使用^$标记匹配路径开头或结尾
    • 支持单选、多选拖拽文件到访达移动(直接拖拽)或拷贝(按住 option )
    • 支持按空格快速预览文件(仅支持 macOS )
    • 右键菜单支持打开文件、打开文件所在目录、拷贝文件路径

    备注

    • 只在用户主目录建立索引
    • 索引建立时间与文件数量和磁盘速度有关,大约 1 分钟
    • 需要将/System/Library/CoreServices/JavaLauncher.app加入完全磁盘访问权限

    例子

    • 使用^/Users/xxx/Downloads .pdf$ book可以搜索出/Users/xxx/Downloads目录下,路径中带有book的所有 pdf 文件。

    详细使用指南( macOS )

    1 、将/System/Library/CoreServices/JavaLauncher.app加入完全磁盘访问权限

    打开系统设置->隐私与安全性->完全磁盘访问权限。点击加号,按command + shift + G,输入/System/Library/CoreServices/JavaLauncher.app,按回车并选择打开

    2 、下载jEverything.jar并打开

    3 、等待索引建立完毕

    4 、开始搜索!

    23 条回复    2023-02-25 11:48:59 +08:00
    NouveauNom
        1
    NouveauNom  
       2023-02-21 16:04:43 +08:00
    已 Star
    NouveauNom
        2
    NouveauNom  
       2023-02-21 16:06:13 +08:00
    文件新增后还需要手动重新索引吗
    rock123
        3
    rock123  
       2023-02-21 16:39:39 +08:00
    刚好以前写过一点 swing ,swing 是单线程模型。在子线程中更新 UI 是有问题的,了解下 SwingUtilities.invokeLater 这个方法的使用,在子线程里操作 UI 都用这个包装下,

    还有重建索引按钮,禁用操作是写在新线程内部,可能不会马上执行到,如果不小心连续点击多次,可能会出现多个重新索引线程同时运行
    smallyu
        4
    smallyu  
       2023-02-21 16:47:27 +08:00
    这个比 Finder 自带的搜索快多少?
    pxiphx891
        5
    pxiphx891  
    OP
       2023-02-21 17:10:32 +08:00 via iPhone
    @NouveauNom 需要的
    pxiphx891
        6
    pxiphx891  
    OP
       2023-02-21 17:10:49 +08:00 via iPhone
    @smallyu 快 1000 倍
    pxiphx891
        7
    pxiphx891  
    OP
       2023-02-21 17:12:01 +08:00 via iPhone
    @rock123 感谢指点。另外请教下,从我点击 jar 包到窗口显示出来往往需要等 3 秒甚至更久,怎样可以优化下吗?我想让窗口秒出
    Asimov01
        8
    Asimov01  
       2023-02-21 17:28:39 +08:00
    搜文件确实很快!就是 UI 略简陋,好好包装下可以上架卖钱!
    zengmingyang96
        9
    zengmingyang96  
       2023-02-21 17:47:32 +08:00
    为啥不用 fzf
    pxiphx891
        10
    pxiphx891  
    OP
       2023-02-21 17:56:34 +08:00 via iPhone
    @zengmingyang96 fzf 不能拖拽文件,也不能多选,也不能预览
    pxiphx891
        11
    pxiphx891  
    OP
       2023-02-21 17:57:00 +08:00 via iPhone
    @Asimov01 感谢试用支持!
    rock123
        12
    rock123  
       2023-02-21 19:17:18 +08:00
    @pxiphx891 #7 使用 java -jar -verbose jEverything-1.0.jar 命令运行程序,日志里能看到启动慢是在加载一大堆 swing 相关类,我也不清楚咋优化这里。 试试用其他语言简单做个启动器,显示个 loading 界面,后台启动 java 程序,启动起来后,不要关闭程序,保持后台运行,体验会好一些
    pxiphx891
        13
    pxiphx891  
    OP
       2023-02-21 21:28:17 +08:00
    @rock123 谢谢!我试试
    haoxuexiaoyao
        14
    haoxuexiaoyao  
       2023-02-21 21:51:09 +08:00
    大佬 做一个 raycast 插件呗
    pxiphx891
        15
    pxiphx891  
    OP
       2023-02-21 22:05:30 +08:00
    @haoxuexiaoyao 目前没这个打算...我只用过 Alfred
    devliu1
        16
    devliu1  
       2023-02-21 22:11:46 +08:00
    可以的,不过代码有一些乱

    可以通过 fsevent 更新索引
    crazyweeds
        17
    crazyweeds  
       2023-02-21 22:33:22 +08:00
    以前一直想写的一个东西,但只有想法,没有行动。作者加油。
    546L5LiK6ZOt
        18
    546L5LiK6ZOt  
       2023-02-22 00:14:11 +08:00
    swing 的界面会不会有点丑,为啥不用 javafx 呢
    jaylong
        19
    jaylong  
       2023-02-22 13:35:41 +08:00
    Mac 下一直用免费的 easyfind
    NouveauNom
        20
    NouveauNom  
       2023-02-22 16:21:21 +08:00
    从昨天下午开始索引,然后索引到现在还是有的文件搜不出来,索引也不继续运行了
    https://imgur.com/a/WrLYs9A
    pxiphx891
        21
    pxiphx891  
    OP
       2023-02-22 19:58:40 +08:00
    @NouveauNom 只索引主目录,这个文件在主目录下吗?你的主目录是不是挂载了外置机械硬盘?固态硬盘应该还挺快的
    leonidas10086
        22
    leonidas10086  
       2023-02-23 12:59:41 +08:00
    功能挺好,不过,可以再完善一下,比如做成一个目录结构:
    app/
    bin
    config
    data

    把软件需要的东西都这样放,归纳到一起,目前就一个 jar ,然后 db 在~/.jEverything/db.sqlite
    我刚打开索引建立了一下我就关了,发现这个 db 有 80MB 。

    清理机制不太好。
    NouveauNom
        23
    NouveauNom  
       2023-02-25 11:48:59 +08:00
    @pxiphx891 这个文件是在下载目录,没有挂载外置硬盘。可能是文件太多或者哪个地方卡主了不继续索引了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     939 人在线   最高记录 6679     &nbs; Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 22:06 PVG 06:06 LAX 15:06 JFK 18:06
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86