private int mark = -1;
private int position = 0; // 索引
private int limit;// 最大可以读取多少个
private int capacity;// 容量
每个buffer有一个数组。
代码:
public static void main(String[] args) {
//举例说明Buffer 的使用 (简单说明)
//创建一个Buffer, 大小为 5, 即可以存放5个int
IntBuffer intBuffer = IntBuffer.allocate(5);
for(int i = 0; i < intBuffer.capacity(); i++) {
intBuffer.put( i * 1);
}
//如何从buffer读取数据
//将buffer转换,读写切换(!!!)
/*
public final Buffer flip() {
limit = position; //读数据不能超过5
position = 0;
mark = -1;
return this;
}
*/
intBuffer.flip(); // 方法很主要 buffer的读写切换的
intBuffer.position(1);//1,2
System.out.println(intBuffer.get());
intBuffer.limit(3);
while (intBuffer.hasRemaining()) {
System.out.println(intBuffer.get());
}
}
其他的属性:
最常用的buffer:
---------------------------------------------2-1---------------------------------------------------
channel实际上是一个接口。
常用的channel:
可以理解为2是1生成的。
---------------------------------------------2-2---------------------------------------------------
---------------------------------------------2-3---------------------------------------------------
---------------------------------------------2-4---------------------------------------------------
---------------------------------------------2-5---------------------------------------------------
---------------------------------------------2-6----------------------------------------------------
---------------------------------------------2-7---------------------------------------------------
---------------------------------------------2-8----------------------------------------------------
---------------------------------------------2-9----------------------------------------------------
---------------------------------------------2-10---------------------------------------------------