JAVA高階基礎(45)---緩衝區操作
阿新 • • 發佈:2018-12-15
package org.lanqiao.buffer.demo; import java.nio.ByteBuffer; public class BufferDemo { public static void main(String[] args) { //開闢緩衝區 分配緩衝區 ByteBuffer buf = ByteBuffer.allocate(1024); //存入資料 buf.put((byte) 2);//1 buf.putInt(10);//4 buf.putDouble(12.2);//8 buf.putChar('太');//2 buf.putLong(11L);//8 System.out.println("位置:" + buf.position() +" 限制:" + buf.limit()+" 容量:" + buf.capacity()); buf.flip();//從寫模式切換為讀模式 System.out.println(buf.get()); System.out.println("位置:" + buf.position() +" 限制:" + buf.limit()+" 容量:" + buf.capacity()); System.out.println(buf.getInt()); System.out.println("位置:" + buf.position() +" 限制:" + buf.limit()+" 容量:" + buf.capacity()); System.out.println(buf.getDouble()); System.out.println("位置:" + buf.position() +" 限制:" + buf.limit()+" 容量:" + buf.capacity()); buf.mark(); System.out.println(buf.getChar()); System.out.println("位置:" + buf.position() +" 限制:" + buf.limit()+" 容量:" + buf.capacity()); /*buf.reset(); buf.flip(); buf.putChar('中'); buf.flip(); System.out.println(buf.getChar());*/ System.out.println("位置:" + buf.position() +" 限制:" + buf.limit()+" 容量:" + buf.capacity()); buf.putChar(15,'原'); System.out.println(buf.getChar()); System.out.println("位置:" + buf.position() +" 限制:" + buf.limit()+" 容量:" + buf.capacity()); buf.rewind(); System.out.println("位置:" + buf.position() +" 限制:" + buf.limit()+" 容量:" + buf.capacity()); } }