ByteBuffer 的三个属性

position

limit

capacity

buffer的一般使用过程

// 1.分配空间
//2.写入数据到Buffer
//3.调用filp()方法
//4.从Buffer中读取数据
//5.调用clear()方法或者compact()方法

    public static void main(String[] args) {

        ByteBuffer byteBuffer = ByteBuffer.allocate();
//写入数据
byteBuffer.put("Hello,world".getBytes());
System.out.println("remaining : "+byteBuffer.remaining());
System.out.println("position : "+byteBuffer.position()); //读取数据
byteBuffer.flip();
byte [] dst = new byte[];
byteBuffer.get(dst);
System.out.println(new String(dst)); }

flip是将position 设置为0,limit设置为position, 准备从buffer中读取数据

byteBuffer的用法-LMLPHP

05-11 14:42