buffer的基本讲解和三个重要属性

1.缓冲区(Buffer):一个用于特定基本数据类型的容器。由 java.nio 包定义的,所有缓冲区都是 Buffer 抽象类的子类
 Java NIO 中的 Buffer 主要用于与 NIO 通道进行交互,数据是从通道读入缓冲区,从缓冲区写入通道中的。
类比记忆:Buffer就是计算机中的一个“容器”,可以理解为是从北京到哈尔滨的火车
2.根据数据类型不同(boolean 除外) ,有以下 Buffer 常用子类:
ByteBuffer

CharBuffer

ShortBuffer

IntBuffer

LongBuffer

FloatBuffer

DoubleBuffer

3.友情提示:上述 Buffer 类他们都采用相似的方法进行管理数据,只是各自管理的数据类型不同而已

4.获取一个Buffer对象的方法:XXBuffer.allocate(int capacity);//里面的参数是为开辟的缓存区的大小

5.buffer对象的三个基本特性:
容量 (capacity) :表示 Buffer 最大数据容量,缓冲区容量不能为负,并且创建后不能更改。

限制 (limit):第一个不应该读取或写入的数据的索引,即位于 limit 后的数据不可读写。缓冲区的限制不能为负,并且不能大于其容量。

位置 (position):下一个要读取或写入的数据的索引。缓冲区的位置不能为负,并且不能大于其限制

示例代码:
public static void getInfo()
{
ByteBuffer byteBuffer=ByteBuffer.allocate(1024);//开辟一个大小为1kb的且是存储byte类型数据的缓存区
System.out.println(“容量:”+byteBuffer.capacity());
System.out.println(“限制:”+byteBuffer.limit());
System.out.println(“位置:”+byteBuffer.position());
}

你可能感兴趣的:(io操作)