如何使用 Java 计算目录中的文件数?为了简单起见,让我们假设该目录没有任何子目录。
我知道标准的方法是:
new File(<directory path>).listFiles().length
但是这将有效地遍历目录中的所有文件,如果文件数量很大,这可能会花费很长时间。另外,我不关心目录中的实际文件,除非它们的数目大于某个固定的大数(比如5000)。
我猜是这样,但是目录(或者 Unix 中的 i 节点)不是存储包含在其中的文件数吗?如果我能直接从文件系统中获取这个数字,就会快得多。在后端开始进行实际处理之前,我需要检查 Tomcat 服务器上的每个 HTTP 请求。因此,速度至关重要。
我可以每隔一段时间运行一个守护进程来清除目录。我知道,所以请不要给我那个解决方案。