1. 程式人生 > >JAVA高階基礎(45)---緩衝區操作

JAVA高階基礎(45)---緩衝區操作

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());
	}
}