在 O(1) 中迭代 scala/java 中的文件 打开文件描述符
看起来nio's返回一个流,当使用时,每个迭代的文件保持一个文件描述符,直到在整个流上被调用。这意味着具有 1,000 个以上文件的数据目录可以轻松刷取公共值。此文件描述符累积的总体效果在处理嵌套遍历时会进一步加剧。.list
.close
ulimit
除了生成对 OS 文件列表命令的调用之外,还有什么替代方法来循环访问大型目录的文件?如果迭代大型目录的文件,则只会根据当前迭代的文件维护文件描述符,这将很酷,正如正确的流语义所暗示的那样。
编辑:
list
返回一个 java 流 哪个 api 调用将用于在处理流中的每个项目后关闭它,而不是仅在整个流被关闭时,以实现更精简的迭代?在scala中,这可以使用来自更好文件的api包装器轻松调整,从这里开始。java.nio.file.Path