我知道如何创建一个内存映射文件,但我的问题是,我们说的是,在下面一行:内存映射文件的Java NIO
FileChannel roChannel = new RandomAccessFile(file, "r").getChannel();
ByteBuffer roBuf = roChannel.map(FileChannel.MapMode.READ_ONLY, 0, SIZE);
如果我设置大小为例如2MB,做到这一点的手段它只会加载2MB的文件,还是会在文件中进一步读取,并更新缓冲区,因为我从中消耗了字节?
只有映射的部分可以通过该缓冲区访问。把它想象成整个文件的一个窗口,只有可见区域可以被读取(写入) – bestsss 2012-02-03 01:33:13
@bestsss:你应该把它作为一个答案来代替。 – Jonas 2012-02-03 01:39:34
@Jonas,...不喜欢单个句子中的答案。答案也很明显。提问者总是可以自己回复并选择它。 – bestsss 2012-02-03 01:56:56