1

randomaccessfile をメモリにマップしようとしていて、いくつかのデータを追加したいと考えています。 MappedByteBuffer buffer = file.getChannel().map(MapMode.READ_WRITE, 0, size);

の場合はどうなりsize > file.lengthますか?

4

3 に答える 3

1

この質問に対する答えは、Javadoc にあります。

要求された領域がこのチャネルのファイル内に完全に含まれていない場合のこのメソッドの動作は規定されていません。

于 2012-06-30T07:56:46.380 に答える
0

あなたはそれを試すことができますが..

メモリ マッピングの末尾がファイルの既存の末尾を超えている場合、ファイルが大きくなります。

ファイルに READ_WRITE としてアクセスできない場合、サイズに関係なく例外が発生します。

于 2012-06-30T07:53:19.650 に答える