java查询时加上进度条插件,java – 在文件搜索中使用进度条

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

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

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

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

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

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

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

/

clipart

photos

family

holiday

wallpapers

anime

landscapes

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

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

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

总结如下:

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

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

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值