缓冲区读
有两种方法从缓冲区读取数据:
-
绝对位置
-
相对位置
使用四个版本重载的get()
方法用于从缓冲区读取数据。
-
get(int index)
返回给定索引处的数据。 -
get()
从缓冲区中的当前位置返回数据,并将位置增加1
。 -
get(byte [] destination,int offset,int length)
从缓冲区中批量读取数据。 它从缓冲区的当前位置读取长度字节数,并将它们放在从指定偏移量开始的指定目标数组中。 -
get(byte [] destination)
通过从缓冲区的当前位置读取数据并且每次读取数据元素时将当前位置递增1
来填充指定的目标数组。
缓冲区写入
使用重载五个版本的put()
方法将数据写入缓冲区。
-
put(int index,byte b)
将指定的b
数据写入指定的索引。调用此方法不会更改缓冲区的当前位置。 -
put(byte b)
将指定的字节写入缓冲区的当前位置,并将位置递增1
。 -
put(byte [] source,int offset,int length)
将起始于偏移量的源数组的字节长度写入从当前位置开始的缓冲区。 如果缓冲区中没有足够的空间来写入所有字节,它会抛出BufferOverflowException
。 缓冲区的位置按长度增加。put(byte [] source)
与调用put(byte [] source,0,source.length)
相同。 -
ByteBuffer put(ByteBuffer src)
从指定的字节缓冲区src
读取剩余的字节,并将它们写入缓冲区。如果目标缓冲区中的剩余空间小于源缓冲区中的剩余字节,则抛出运行时BufferOverflowException
。
以下代码显示如何写入缓冲区和从缓冲区读取。