黑马程序员技术交流社区

标题: 内存映射文件如何高效执行大文件创建和修改? [打印本页]

作者: 黑马_张佳超    时间: 2012-6-21 15:18
标题: 内存映射文件如何高效执行大文件创建和修改?
本帖最后由 黑马_张佳超 于 2012-6-22 17:35 编辑

代码示例:
  1. import java.io.RandomAccessFile;
  2. import java.nio.MappedByteBuffer;
  3. import java.nio.channels.FileChannel;

  4. public class LargeMappedFiles {

  5.         static int length = 0x8FFFFFF;//128MB
  6.         public static void main(String [] args)throws Exception{
  7.                 MappedByteBuffer out = new RandomAccessFile("test.dat","rw")
  8.                         .getChannel().map(FileChannel.MapMode.READ_WRITE, 0, length);
  9.                 for(int i = 0 ; i < length; i++)
  10.                         out.put((byte)'x');
  11.                 System.out.println("Finished writing");
  12.                 for(int i = length/2 ; i < length/2; i++)
  13.                         System.out.print((char)out.get(i));
  14.         }
  15. }
复制代码
上边的是原文中示例代码。哪位大虾给分析分析这样操作有何用?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2