gpt4 book ai didi

java - 将来使用 NIO 和 NIO2 处理文件和文件系统 : Before NIO,

转载 作者:行者123 更新时间:2023-12-02 22:44:34 28 4
gpt4 key购买 nike

在 Java 1.4 之前,通过在不同的输入流/输出流之间移动字节来处理文件是常见的做法。

自 Java 1.4 起,其中 NIO已添加,建议使用 Channels 执行相同操作。

NIO2在 Java 7 中,java.nio.file 中还会有另一个 API,它支持执行以下操作:

val source = Paths.get("fooDir/fooFile.txt")
val target = Paths.get("barDir/barFile.txt")
source moveTo target
source createLinkTo target

older ones more or less useless现在进行文件系统操作,除非您想手动触摸字节?

最佳答案

对于大多数操作,NIO2 会让您做得更多/更好。

使用旧版 API 无法完成某些操作(某些属性、ACL、文件更改通知、更好的错误处理...)。

最重要的是:这并不一定更困难。

回答您的问题:当您可以使用两个不同的 API 执行某些操作时,我没有看到任何旧 API 可以做得更好的用例。

有一些讨论:

Java NIO FileChannel versus FileOutputstream performance / usefulness http://mailinator.blogspot.com/2008/02/kill-myth-please-nio-is-not-faster-than.html

但我想说最新的 API设计是为了更快。如果在某些情况下不这样做,并且您一直在使用较新的 API,则期望 jvm 更新可以恢复这种情况,而无需更改任何代码。

关于java - 将来使用 NIO 和 NIO2 处理文件和文件系统 : Before NIO,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5231444/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com