java - FileChannel 与 RandomAccessFile

标签 java io nio

<分区>

考虑到Java 7中的FileChannel实现了接口(interface)SeekableByteChannel。使用 RandomAccessFile 而不是 FileChannel 有什么用吗? 提前致谢。

最佳答案

RadomAccessFileFileChannel 是完全不同的东西。 RandomAccessFile 早在 NIO(例如 channel )之前就被引入了 java。当您必须在文件的指定位置(而不是顺序)读取和写入时,对文件进行操作很有用。 然而,读写操作被阻塞,例如如果您调用 read 方法,它将被阻塞,直到字节被读取。

channel 属于所谓的非阻塞 IO,允许读取(和写入)字节而不会被阻塞。 RandomAccessFileFileChannel 之间的唯一关系是您可以通过随机访问文件访问 channel 。

关于java - FileChannel 与 RandomAccessFile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16495754/

相关文章:

javascript - 如何从Mysql Server加载数据到仪表板 View ?

java - 在 Java 中,更改对并发读取的 HashMap 的引用是否安全

c# - 查找没有名称的目录或文件?

java - 为什么 nio.files.copy 比 nio.fileChannel 复制慢很多?

java - SelectionKey.interestOps(int ops) 的底层工作原理

Java 异步等待 http 重定向

java - 使用参数化对象数组调用函数

Java:用于数据可用性、关闭状态等的 InputStream 约定

tensorflow - tf.contrib.data.prefetch_to_device 不会导致训练加速

java - 如何在 Java 中取消 Files.copy()?