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

使用FileChannel:Java从RandomAccessFile读取特定字节,java,buffer,nio,bytebuffer,filechannel,Java,Buffer,Nio,Bytebuffer,Filechannel,我有一个随机访问文件和它的文件通道。我试图做的是从所述文件中读取字节的特定部分;但是,在查看FileChannel读取方法时,我没有看到有助于我尝试执行的重载,只有读取整个内容的方法,或者将内容读取到读取方法接收的缓冲区中的特定位置的方法。是否有一种方法可以帮助我完成读取特定字节块的目标,或者我需要将整个通道读入缓冲区,然后以某种方式解析出该部分?您可以先使用缓冲区,然后使用所需大小的缓冲区,转到文件中的特定位置。您指的是哪个读取?我没有看到任何指定缓冲区大小的重载读取。@ChrisV。创建所需

我有一个随机访问文件和它的文件通道。我试图做的是从所述文件中读取字节的特定部分;但是,在查看FileChannel读取方法时,我没有看到有助于我尝试执行的重载,只有读取整个内容的方法,或者将内容读取到读取方法接收的缓冲区中的特定位置的方法。是否有一种方法可以帮助我完成读取特定字节块的目标,或者我需要将整个通道读入缓冲区,然后以某种方式解析出该部分?

您可以先使用缓冲区,然后使用所需大小的缓冲区,转到文件中的特定位置。

您指的是哪个读取?我没有看到任何指定缓冲区大小的重载读取。@ChrisV。创建所需大小的ByteBuffer。或者只使用RandomAccessFile.read(buffer,int,int),除非您有充分的理由使用通道。