gpt4 book ai didi

java - 针对 IO BufferInputStream 的 Nio 字节缓冲区(按 channel )

转载 作者:行者123 更新时间:2023-11-30 11:32:42 24 4
gpt4 key购买 nike

在哪种情况下,两者中哪一个是最佳选择?显然,为非常小的文件使用文件 channel 是没有意义的。除此之外,两种输入/输出方式的优缺点是什么。非常感谢。

最佳答案

FileChannel 有许多 java.io 中缺少的特性:它是可中断的,它可以在文件中移动位置,它可以锁定文件等。它可以比旧的 IO 更快,尤其是当它使用直接字节缓冲区时,这是 ByteBuffer API 的解释:

byte buffer is either direct or non-direct. Given a direct byte buffer, the Java virtual machine will make a best effort to perform native I/O operations directly upon it. That is, it will attempt to avoid copying the buffer's content to (or from) an intermediate buffer before (or after) each invocation of one of the underlying operating system's native I/O operations. 

如果您不需要上述任何功能与流一起使用,您将获得更短的代码。

关于java - 针对 IO BufferInputStream 的 Nio 字节缓冲区(按 channel ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16478076/

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