java - 为什么字节缓冲区在缓冲区未满时给出缓冲区溢出异常

标签 java bytebuffer

我不确定为什么下面的例子会给出缓冲区溢出异常。希望有人能解释原因,以及我如何正确地做到这一点。

就这么简单:

ByteBuffer bf = ByteBuffer.allocate(4);
bf.order(ByteOrder.BIG_ENDIAN);
bf.putInt(8);
bf.putInt(7); // Throws exception

目标:[0,0,8,7]

提前致谢!

最佳答案

int 的长度为 4 个字节,因此您应该将 4 乘以需要存储在 ByteBuffer 中的 int 数。

关于java - 为什么字节缓冲区在缓冲区未满时给出缓冲区溢出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23696799/

相关文章:

java - 空指针引用android java

java - Redis的Redisson的API方法.unlock()未释放锁,尝试从同一实例进行

Java:将作业发送到服务器执行

java - FileChannel 和 ByteBuffer 写入额外数据

java - 如果我们在 `CharBuffer` 或 `Buffer` 中没有任何相应的 (allocateDirect) 方法,我们如何分配直接 CharBuffer ?

java - UiBinder - HTMLPanel 与 div

java - 如果改造多次调用返回您需要的内容,如何仅通知用户一次?

java - JTextField 正在更新字符串数据和垃圾数据

java - 有没有办法在 Java 中 gzip 一个字节缓冲区?

java - 在 Ruby 中创建类似字节缓冲区的对象