MappedBuffer.java 783 B

1234567891011121314151617181920212223242526
  1. package cn.hhj.nio.buffer;
  2. import java.io.*;
  3. import java.nio.*;
  4. import java.nio.channels.*;
  5. /**
  6. * IO映射缓冲区
  7. */
  8. public class MappedBuffer {
  9. static private final int start = 0;
  10. static private final int size = 26;
  11. static public void main( String args[] ) throws Exception {
  12. RandomAccessFile raf = new RandomAccessFile( "E://test.txt", "rw" );
  13. FileChannel fc = raf.getChannel();
  14. //把缓冲区跟文件系统进行一个映射关联
  15. //只要操作缓冲区里面的内容,文件内容也会跟着改变
  16. MappedByteBuffer mbb = fc.map(FileChannel.MapMode.READ_WRITE,start, size );
  17. mbb.put( 0, (byte)97 ); //a
  18. mbb.put( 25, (byte)122 ); //z
  19. raf.close();
  20. }
  21. }