java ByteBuffer类的重点

来源:互联网 发布:lastindexof的用法 js 编辑:程序博客网 时间:2024/04/30 21:07
1、Buffer
定义:一个用于特定基本类型的容器。

2、ByteBuffer

java.lang.Object
       ava.nio.Buffer
           java.nio.ByteBuffer

  • 定义:字节缓冲区
  • 创建:
static allocate(int capacity);
ByteBuffer.allocateDirect(int capacity);   allocateDirect表现相对更好。  

  • 读写byte数据常用方法:
public abstract ByteBuffer put(byte b)     将给定的字节b写入此缓冲区的当前位置,然后该位置递增。
public abstract ByteBuffer put(int index,byte b)     参数:index - 将在该位置写入字节的索引,
                                                            b - 要写入的字节值.
public final ByteBuffer put(byte[] src)    将给定的源 byte 数组的所有内容传输到此缓冲区中。
                                             
public ByteBuffer put(byte[] src,     把给定源数组中的字节字传输到此缓冲区中。src - 要从中读取字节的数组
  int offset,      offset - 要读取的第一个字节在数组中的偏移量;必须为非负且不大于 array.length,
  int length)    length - 要从给定数组读取的字节的数量;必须为非负且不大于 array.length - offset。

  • 两个重要方法
Buffer clear()    把position设为0,把limit设为capacity,一般在把数据写入Buffer前调用。
Buffer flip()     把limit设为当前position,把position设为0,一般在从Buffer读出数据前调用。