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