黑马程序员技术交流社区
标题:
内存映射文件如何高效执行大文件创建和修改?
[打印本页]
作者:
黑马_张佳超
时间:
2012-6-21 15:18
标题:
内存映射文件如何高效执行大文件创建和修改?
本帖最后由 黑马_张佳超 于 2012-6-22 17:35 编辑
代码示例:
import java.io.RandomAccessFile;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
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.println("Finished writing");
for(int i = length/2 ; i < length/2; i++)
System.out.print((char)out.get(i));
}
}
复制代码
上边的是原文中示例代码。哪位大虾给分析分析这样操作有何用?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2