背景
- 把磁盘上的文件映射到内存中,在内存中直接修改内容,磁盘上的文件内容也随之更改。
MappedByteBuffer
- 准备一个文件mappedbytebuffer.txt,内容为aaaaaa
- 测试代码
public static void main(String[] args) throws Exception{
RandomAccessFile randomAccessFile = new RandomAccessFile("mappedbytebuffer.txt", "rw");
FileChannel fileChannel = randomAccessFile.getChannel();
MappedByteBuffer mappedByteBuffer = fileChannel.map(FileChannel.MapMode.READ_WRITE, 0, 6);
mappedByteBuffer.put(0, (byte)'c');
mappedByteBuffer.put(3, (byte)'c');
}
- 测试结果(使用其他文本编辑器打开)
第0个位置和第3个位置被修改为c了。
小结
- MappedByteBuffer的简单使用。