小编Sam*_*uah的帖子

在文件系统中搜索数据的性能优化

我有一个网络相关存储,其中大约有500万个txt文件与大约300万个交易相关.总数据大小约为3.5 TB.我必须在该位置搜索以查找交易相关文件是否可用,并且必须将两个单独的报告作为"可用文件"和"不可用文件"的CSV文件.我们仍然在JAVA 6.我面临的挑战因为我必须递归搜索该位置,因为巨大的尺寸,我需要大约2分钟才能在该位置进行搜索.我正在使用Java I/O API来递归搜索,如下所示.有什么方法可以改善性能吗?

File searchFile(File location, String fileName) {
     if (location.isDirectory()) {
         File[] arr = location.listFiles();
         for (File f : arr) {
             File found = searchFile(f, fileName);
             if (found != null)
                 return found;
         }
     } else {
         if (location.getName().equals(fileName)) {
             return location;
         }
     }
     return null;
}
Run Code Online (Sandbox Code Playgroud)

java optimization search file

5
推荐指数
1
解决办法
97
查看次数

标签 统计

file ×1

java ×1

optimization ×1

search ×1