gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:48:14 25 4
gpt4 key购买 nike

我正在编写一个应用程序,它将从相应的路径中搜索一个或多个特定文件。在搜索过程中,我需要部署一个必须根据搜索运行的进度条。那我该怎么做呢?如果可能的话,请发布代码?

最佳答案

这是一个棘手的问题。我不记得看到过任何显示进度条的非索引搜索实例。 (谁能证明我错了?)

我建议使用以下方法(Benny Hallett 的建议的扩展)可能会提供更多粒度。

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

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

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

这种方法应该保证你只需要遍历一次目录结构,它应该能更好地处理不均匀的目录。 (我所说的不均匀是指具有高搜索成本和低搜索成本的目录混合)

举个例子,我们假设一个目录结构如下:

/
clipart
photos
family
holiday
wallpapers
anime
landscapes

(每个缩进表示目录树中的更深一层,我们假设所有目录遍历都是按字母顺序完成的)

您首先查看“/”并看到存在三个目录(clipartphotoswallpapers),因此您最初将进度条分成三份。

然后您搜索 clipart 目录,完成后,将进度条更新为三分之一。然后,您进入 photos 并看到有两个子目录。这意味着当您完成搜索 family 时,进度条将增加六分之一,因为有两个子目录(familyholiday)每一项的进展都占分配给照片的三分之一。

总结一下:

完成剪贴画增加三分之一

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

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

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

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

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

关于java - 在文件搜索中使用进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1678432/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com