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