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

前端之家收集整理的这篇文章主要介绍了java – 在文件搜索中使用进度条前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在编写一个应用程序,它将从相应的路径中搜索特定的文件.在搜索过程中,我需要部署一个必须根据搜索运行的进度条.那我该怎么做呢?如果可能请发布代码

解决方法

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

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

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

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

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

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

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

/
    clipart
    photos
        family    
        holiday
    wallpapers
        anime
        landscapes

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

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

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

总结如下:

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

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

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

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

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

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

原文链接:https://www.f2er.com/java/127981.html

猜你在找的Java相关文章