我知道如何創建一個內存映射文件,但我的問題是,我們說的是,在下面一行:內存映射文件的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