JAVA高级基础(45)---缓冲区操作

版权声明:如需转载请标明出处 https://blog.csdn.net/yj201711/article/details/84940679

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

猜你喜欢

转载自blog.csdn.net/yj201711/article/details/84940679
今日推荐