java – 在文件搜索中使用进度条
我正在编写一个应用程序,它将从相应的路径中搜索特定的文件.在搜索过程中,我需要部署一个必须根据搜索运行的进度条.那我该怎么做呢?如果可能请发布代码?
解决方法
这是一个棘手的问题.我不记得看到任何非索引搜索的实例显示进度条. (任何人都可以证明我错了吗?)
我建议使用以下方法(Benny Hallett的建议的延伸),这可能会提供更多的颗粒度. 假设您正在整个文件系统中搜索特定的文件名模式(例如在unix中搜索/上的所有* .jpg文件) 首先将进度条划分为N个部分(其中N是搜索根路径中的目录数). 每次深入到目录heirachy时,分配给父目录的总进程条长度将根据其包含的子目录数进行划分.完成目录搜索后,分配给它的部分将添加到进度条.有关更多详细信息,您可以进一步将分配除以当前目录中的文件目录数. 此方法应确保您只需遍历目录结构一次,它应该更好地处理不均匀的目录. (不均匀我指的是搜索成本高和低的目录混合) 作为一个例子,我们假设一个像这样的目录结构: / clipart photos family holiday wallpapers anime landscapes (每个缩进指示目录树中更深的级别,并假设所有目录遍历都按字母顺序完成) 你首先看看’/’并看到有三个目录(剪贴画,照片和壁纸),因此你最初将进度条划分为三分之一. 然后,您搜索剪贴画目录,完成后,将进度条更新为三分之一.然后你进入内部照片,看到有两个子目录.这意味着当你完成搜索家庭时,你会在进度条中添加六分之一,因为有两个子目录(家庭和假日),每个子目录的进度构成了分配给照片的三分之一. 总结如下: 完成剪贴画增加了三分之一 完成照片/家庭增加六分之一 完成照片/假期增加六分之一 完成壁纸/动漫增加了六分之一 壁纸/风景的完成增加了六分之一 总共1.0(或100%)(忽略浮点精度) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- JSP Exception.initCause()方法:设置初始化的异常信息
- java – 为什么Gson Preconditions在这个实例中失败了?
- 可以将对象数组视为Java中的对象集合吗?
- java – 将EditText设置为单行使其在按Enter后失去焦点
- Java堆中的空间错误
- java – Hibernate hql inner加入eager fetch on one to
- java – 加速Apache Commons FTPClient传输
- sleep()与interrupt()
- javax.net.ssl.SSLHandshakeException: sun.security.valid
- Java ClassLoader安全模型