2

我有一个读取数据库的进程来收集大约 200,000 个文件(并且还在增长)的服务器和路径信息。我使用 JCIFS 库来检查文件是否存在于指定位置,一次使用类似:

SmbFile file = new SmbFile(fullPath, getNtlmPasswordAuthentication());
if(file.exists()) {
     return true;
}

完成该过程需要几个小时。我试图找到一种方法来加快这个过程。需要验证的文件分布在 40 个目录中。每个目录可以包含几千个文件。SmbFile API有一个listFiles ()函数,它允许我打开一个目录并取回该文件夹中的SmbFile数组。我想知道我是否走在正确的轨道上,是否有人有更好的主意。谢谢!

4

1 回答 1

3

绝对应该使用 listFiles()。如果我理解正确,你的方法会产生一个请求每个文件,并且 listFiles() 会给你一个请求每个目录 - 我希望加速 x1000 左右

于 2011-03-24T00:13:15.697 回答