我正在编写一个应用程序,它将在计算机上搜索具有特殊文件扩展名的文件。 (例如JPG)。输入数据:“D:”,“.JPG”输出:带结果的txt文件(文件目录);我知道一个简单的递归算法,但可能有更好的smth。所以,可能是你告诉我一个有效的算法来遍历文件目录。此外,我想使用多线程来解决这个问题,以提高性能。但是我应该使用多少个线程?如果我将1个线程用于1个目录 - 这将是愚蠢的。
答案 0 :(得分:0)
您指定的递归选项是唯一的方法,除非您想弄清楚文件系统。我怀疑你没有。
关于线程性能,您最好的选择是使线程数可配置,创建一些示例目录,并测量每个设置的性能。
顺便说一句,大多数文件查找器都会创建一个文件索引。他们按计划扫描光盘,并更新包含磁盘上文件和目录相关信息的文件。该文件采用便于搜索的格式。此索引文件用于执行实际搜索。如果您计划针对同一目录重复运行此搜索,则应执行此操作。