A Better Way to Achieve Random File Access

RandomAccessFile raf = new RandomAccessFile(f, ???r???);for (???) {     raf.seek(pos);     byte b = raf.readByte();}

Despite its name, the java.io.RandomAccessFile class is not very convenient for accessing files in a random-access manner, such as: seek, read, seek, read. Each of these directly issue the corresponding system calls/ioctl on the file descriptor. You can do that using MappedByteBuffer, like this:

FileInputStream in = new FileInputStream(f);MappedByteBuffer map = in.getChannel().map(MapMode.READ_ONLY, 0, f.length());for (???) {byte b = map.get(pos);}
Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Related Posts