【发布时间】:2011-05-08 20:19:34
【问题描述】:
我想检查 Java 中的目录是否为空。但是有可能该目录中有很多文件,所以如果可能的话,我想在不查询其文件列表的情况下这样做。
【问题讨论】:
-
list() 在许多文件上可能会很慢。
-
在扫描空目录时,我发现 .list() 占用了超过 50% 的执行时间。因此,如果您实际上并不需要文件列表,则寻找替代方案可以显着加快处理速度。
-
通过极其缓慢的网络(通过 UNC 路径),读取包含 10,000 个子目录的目录列表曾经占用了一个程序,我的任务是维护大约 30 分钟。然后,该程序尝试读取针对数据库交叉索引的每个目录的内容,导致运行时间为 8 小时。
list()确实非常很慢。翻转逻辑后(先查询数据库),运行时间下降到 8 分钟左右。