gpt4 book ai didi

java - 如何避免 BufferUnderflowException

转载 作者:行者123 更新时间:2023-12-02 06:31:55 24 4
gpt4 key购买 nike

我正在使用这个函数将 bytearray 转换为 int。

public static int byteArrayToInt(byte[] b) {
ByteBuffer bb = ByteBuffer.wrap(b);
bb.order(ByteOrder.LITTLE_ENDIAN);
return bb.getInt();
}

不幸的是,我在 return 语句中收到 java.nio.BufferUnderflowException 。顺便说一句,我多次调用这个函数。我读到,当读取的字节数多于缓冲区大小时,就会发生这种情况。但谁能告诉我如何避免它?

有没有办法将我的原始字节数组复制到大小为 4 的新字节数组并将该字节数组传递给函数?

更新:我在主方法中尝试了这个:

byte[] bbTemp=new byte[4];
bbTemp = originalbyteArray;

并将 bbTemp 传递给上述函数,但不起作用。知道为什么吗?

最佳答案

A BufferUnderflowException will be thrown

If there are fewer than four bytes remaining in this buffer

确保您的 byte[] 中至少有 4 个字节,这是 int 的大小。

关于java - 如何避免 BufferUnderflowException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19987503/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com