NIO的ByteBuffer 快捷读写的get put API
public static void main(String[] args) {
ByteBuffer buffer = ByteBuffer.allocate(1024);
/**
* putInt() 从当前position一次性写入4个字节 到buffer中的数组
* putLong() 从当前position一次性写入8个字节 到buffer中的数组
*/
buffer.putInt(100);
buffer.putLong(100L);
//切换读模式
buffer.flip();
/**
* getInt() 从当前position一次性获取4个字节组成一个 Int 返回
* getLong() 从当前position一次性获取8个字节组成一个 Long 返回
* getChar() 从当前position一次性获取2个字节组成一个 Char 返回
*/
System.out.println("-----"+buffer.position()+" "+buffer.limit()+"-----");
System.out.println(buffer.getInt());
System.out.println("-----"+buffer.position()+" "+buffer.limit()+"-----");
System.out.println(buffer.getInt());
System.out.println("-----"+buffer.position()+" "+buffer.limit()+"-----");
System.out.println(buffer.getInt());
System.out.println("-----"+buffer.position()+" "+buffer.limit()+"-----");
}
结果: 因为Long高4位是全为0 所以第二个getInt() 的四位为0 结果Int为0
-----0 12-----
100
-----4 12-----
0
-----8 12-----
100
-----12 12-----