首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ByteBuffer下溢

ByteBuffer下溢
EN

Stack Overflow用户
提问于 2014-05-15 20:54:26
回答 2查看 19.5K关注 0票数 3

我尝试使用java库ByteBuffer,并编写了以下代码示例:

代码语言:javascript
复制
    ByteBuffer buf = ByteBuffer.allocate(32);
    buf.putInt(4);
    buf.putInt(8);
    buf.putInt(12);
    buf.putInt(16);
    buf.putInt(20);
    buf.putInt(24);
    buf.putInt(28);
    buf.putInt(32);
    buf.order(ByteOrder.LITTLE_ENDIAN);
    byte[] temp = new byte[32];
    buf.get(temp);

由于某种原因,它在最后一行抛出了一个BufferUnderflowException

我不知道为什么,谁能给我解释一下我做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-15 20:58:26

如java文档中所述。

相对get方法。..。

如果缓冲区的当前位置不小于其限制,则抛出: BufferUnderflowException

查找更多here

票数 4
EN

Stack Overflow用户

发布于 2014-05-15 21:11:07

看一看http://mindprod.com/jgloss/bytebuffer.html

必须调用ByteBuffer.flip才能从通过物理I/O填充缓冲区转换为通过ByteBuffer.get清空缓冲区

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23678826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档