Search code examples
javabufferniobytebufferfilechannel

Read specific bytes from RandomAccessFile using FileChannel : Java


I have a RandomAccessFile and its FileChannel. What I'm trying to do is read a specific section of the bytes from said file; however, while looking over the FileChannel read methods, I didn't see overloads that would help with what I'm trying to do, only methods which would read the entire content, or read content to a specific position in the buffer that the read method takes in. Is there a method that I'm missing that will help me accomplish my goal of reading a specific chunk of bytes, or will I need to read in the entire channel into the buffer and then parse out the section somehow?


Solution

  • You can go to a specific position in the file using FileChannel#position(long) and then read a buffer in the desired size.