Traveing文件夹中DirectoryStream和File.list()之间的性能差异

时间:2012-08-02 06:44:20

标签: java directory java-7

DirectoryStream和File.list()之间是否存在任何性能差异

我试图在Linux平台上使用两个java程序,它使用具有相同参数的getdents64系统调用。在我看来,两者都有相同的表现但不同的编程范式

3 个答案:

答案 0 :(得分:2)

您可能会觉得这很有趣:

Mapping java.io.File Functionality to java.nio.file

答案 1 :(得分:1)

如果他们都呼叫相同的系统呼叫,为什么会有差异?遍历目录基本上是I / O绑定。

答案 2 :(得分:1)

DirectoryStream的性能优势以内存使用的形式出现,并且能够在列出目录时处理返回的路径对象,而不是构建完整列表并将其存储在内存中,然后迭代它。列出包含大量文件的目录或递归遍历目录树时,这很有用。

此处有更多信息:http://blog.eyallupu.com/2011/11/java-7-working-with-directories.html