我创建了一个java.nio.MappedByteBuffer围绕一个java.io.RandomAccessFile(一个只有 54 KB 大小的文件)。结果MappedByteBuffer具有大约 12 KB 的“容量”和“限制”,所以当我尝试调用mybytebuffer.get(i > 13044)或mybytebuffer.put(i > 13044, value)它抛出一个InvalidIndexException.
所有这些行为都记录在 Sun 的官方 javadocs 中。我的问题是如何使用java.nio ByteBuffers文件中的任何位置读取或写入(我需要随机访问)。我似乎找不到说明非顺序访问的 Java NIO 示例或文档。