0

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?

Chris V.
  • 1,123
  • 5
  • 22
  • 50

1 Answers1

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