如何更新字节缓冲区

时间:2016-02-16 19:16:59

标签: java bytebuffer

我想知道是否可以更新字节缓冲区。

说我有以下内容:

ByteBuffer buffer = ByteBuffer.allocate(56);
buffer.putInt(12);
buffer.putLong(34);    
buffer.put(byte('A'));    

假设我想修改缓冲区,说我输入的第一个int应该是50,我该怎么做。

我想要类似的东西:

public void updateByteBuffer(ByteBuffer, int position, int newValue){
  // logic to change buffer.putInt(12); to buffer.putInt(50);
  // So after this function, my ByteBuffer should contain(hex) 50,34 and 'A';
}

1 个答案:

答案 0 :(得分:2)

你总是可以写buffer.putInt(0, 50)。这是接受索引的重载,作为字节偏移量,以指示放置参数的位置。