buf里面只有两个指针,读指针和写指针,注意观察打印结果就能看出这两个指针的变化情况
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import java.util.Arrays;
public class bytebufTest {
public static void main(String[] args) {
ByteBuf buffer= Unpooled.buffer(10);
System.out.println(buffer.toString());
System.out.println(Arrays.toString(buffer.array()));
byte[] bytes=new byte[]{1,2,3,4,5};
buffer.writeBytes(bytes);
System.out.println(buffer.toString());
System.out.println(Arrays.toString(buffer.array()));
//读取一部分
System.out.println(buffer.readByte());
System.out.println(buffer.readByte());
System.out.println(buffer.toString());
System.out.println(Arrays.toString(buffer.array()));
//现在读取了1 2,丢弃之后,1 2位置会由3 4填补
buffer.discardReadBytes();
System.out.println(buffer.toString());
System.out.println(Arrays.toString(buffer.array()));
//数据不会变
buffer.clear();
System.out.println(buffer.toString());
System.out.println(Arrays.toString(buffer.array()));
// 再次写入数据
buffer.writeByte(1);
System.out.println(buffer.toString());
System.out.println(Arrays.toString(buffer.array()));
// 真正的清空
buffer.setZero(0,10);
//写入11个数据
buffer.writeBytes(new byte[]{1,2,3,4,5,6,7,8,9,10,11});
System.out.println(buffer.toString());
System.out.println(Arrays.toString(buffer.array()));
}
}