【发布时间】:2015-11-15 14:15:36
【问题描述】:
在围绕 SO 编写答案时,一位用户试图指出 java.io.File 不应在新代码中使用,相反他认为应该使用 new 对象 java.nio.Files;他链接到this article。
现在我已经用Java开发了好几年了,以前没有听说过这种说法;自从阅读了他的帖子以来,我一直在搜索,并没有找到很多其他来源可以证实这一点,而且就个人而言,我觉得文章中争论的许多观点都很薄弱,如果你知道如何阅读它们,错误引发的错误File 类通常会准确地告诉您问题所在。
随着我不断开发新代码,我的问题是:
【问题讨论】:
-
一个很好的理由是利用流进行文件操作,例如:将文件列表作为流而不是数组列表读取
-
在 NIO 的情况下,内存映射缓冲区允许直接从文件系统映射文件(无需加载到内存中)。可以在不耗尽堆空间的情况下处理非常大的文件。