public class LargeMappedFiles {
static int length = 0x8FFFFFF; //128MB
public static void main(String[] args) throws Exception{
MappedByteBuffer out = new RandomAccessFile("test.dat","rw").getChannel()
.map(FileChannel.MapMode.READ_WRITE,0,length);
for (int i = 0; i < length;i++){
out.put((byte)'x');
}
System.out.print("Finished writing");
for (int i = length/2; i<length/2+6;i++){
System.out.print(out.get(i));
}
}
}
上面的代码利用了NIO中的内存映射类,能够达到很快的读写速度,算是比较实用的一个东西
本文介绍了一种使用Java NIO中的内存映射文件技术进行高速数据读写的方法。通过实例代码展示了如何创建一个128MB大小的文件,并用字符'x'填充,最后验证数据是否正确写入。内存映射文件能显著提升大文件的读写效率。
1185

被折叠的 条评论
为什么被折叠?



