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?
Asked
Active
Viewed 1,146 times
1 Answers
2
You can go to a specific position in the file using FileChannel#position(long)
and then read
a buffer in the desired size.

MByD
- 135,866
- 28
- 264
- 277
-
Which read are you referring to? I don't see any overloaded reads that specify the buffer size. – Chris V. Oct 25 '11 at 21:36
-
@ChrisV. Create the ByteBuffer of the size required. Or else just use RandomAccessFile.read(buffer,int,int), unless you have a strong reason for using a channel. – user207421 Oct 25 '11 at 22:20