获取直接字节/短/ Int /浮动缓冲区的一部分

时间:2013-06-22 15:47:38

标签: java

使用独立内容从一个缓冲区到另一个缓冲区中减去一系列元素的最佳方法是什么? 像这样:

//before
DirectByteBuffer 1: (1, |2, 3, 4|, 5, 6) //get element range from 1 to 3

//after
DirectByteBuffer 1: (1, 5, 6)
DirectByteBuffer 2: (2, 3, 4)

1 个答案:

答案 0 :(得分:3)

put(ByteBuffer)应该是在缓冲区之间复制字节的最快方法。因此,您可以使用它将一个缓冲区的一部分复制到另一个缓冲区中。使用不同的切片,您还可以使用它在单个缓冲区内移动数据,从而填充复制数据留下的“洞”。基本步骤是

  1. 为源区域准备new slice
  2. 将其positionlimit设置为表示您要复制的数据
  3. 将目标缓冲区中的position设置为要放置数据的位置
  4. 使用put
  5. 将源切片放在目标位置
相关问题