java - 使用 FileChannel : Java 从 RandomAccessFile 读取特定字节

标签 java buffer nio bytebuffer filechannel

我有一个 RandomAccessFile 及其 FileChannel。我想做的是从所述文件中读取字节的特定部分;但是,在查看 FileChannel 读取方法时,我没有看到有助于我尝试执行的操作的重载,只有可以读取整个内容或将内容读取到读取的缓冲区中的特定位置的方法方法接受。是否有一个我缺少的方法可以帮助我实现读取特定字节 block 的目标,或者我需要将整个 channel 读入缓冲区,然后以某种方式解析出该部分?

最佳答案

您可以使用 FileChannel#position(long) 转到文件中的特定位置然后read所需大小的缓冲区。

关于java - 使用 FileChannel : Java 从 RandomAccessFile 读取特定字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7895976/

相关文章:

java - 创建符号链接(symbolic link)时的并发执行异常和 nio.file.NoSuchFileException

java - Mockito - 如何使用列表匹配器限制列表类型?

java - 使用回调方法连接多个线程结果

java - 我得到的端口号与我使用的端口号不同

android - 如何清除蓝牙输入流缓冲区

io - 在 Julia 中设置多个 I/O 缓冲区的最佳方法是什么?

java - 如何找到 TIBCO Rendezvous 消息的字节编码?

发生多个匹配时的java正则表达式首选项

go - 将缓冲区写入文件不会返回错误,那么为什么文件后记为空?

java - PushbackReader 等效项