加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 在文件搜索中使用进度条

发布时间:2020-12-15 02:50:53 所属栏目:Java 来源:网络整理
导读:我正在编写一个应用程序,它将从相应的路径中搜索特定的文件.在搜索过程中,我需要部署一个必须根据搜索运行的进度条.那我该怎么做呢?如果可能请发布代码? 解决方法 这是一个棘手的问题.我不记得看到任何非索引搜索的实例显示进度条. (任何人都可以证明我错
我正在编写一个应用程序,它将从相应的路径中搜索特定的文件.在搜索过程中,我需要部署一个必须根据搜索运行的进度条.那我该怎么做呢?如果可能请发布代码?

解决方法

这是一个棘手的问题.我不记得看到任何非索引搜索的实例显示进度条. (任何人都可以证明我错了吗?)

我建议使用以下方法(Benny Hallett的建议的延伸),这可能会提供更多的颗粒度.

假设您正在整个文件系统中搜索特定的文件名模式(例如在unix中搜索/上的所有* .jpg文件)

首先将进度条划分为N个部分(其中N是搜索根路径中的目录数).

每次深入到目录heirachy时,分配给父目录的总进程条长度将根据其包含的子目录数进行划分.完成目录搜索后,分配给它的部分将添加到进度条.有关更多详细信息,您可以进一步将分配除以当前目录中的文件目录数.

此方法应确保您只需遍历目录结构一次,它应该更好地处理不均匀的目录. (不均匀我指的是搜索成本高和低的目录混合)

作为一个例子,我们假设一个像这样的目录结构:

/
    clipart
    photos
        family    
        holiday
    wallpapers
        anime
        landscapes

(每个缩进指示目录树中更深的级别,并假设所有目录遍历都按字母顺序完成)

你首先看看’/’并看到有三个目录(剪贴画,照片和壁纸),因此你最初将进度条划分为三分之一.

然后,您搜索剪贴画目录,完成后,将进度条更新为三分之一.然后你进入内部照片,看到有两个子目录.这意味着当你完成搜索家庭时,你会在进度条中添加六分之一,因为有两个子目录(家庭和假日),每个子目录的进度构成了分配给照片的三分之一.

总结如下:

完成剪贴画增加了三分之一

完成照片/家庭增加六分之一

完成照片/假期增加六分之一

完成壁纸/动漫增加了六分之一

壁纸/风景的完成增加了六分之一

总共1.0(或100%)(忽略浮点精度)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读