我正在使用此函数将 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 传递给上述函数,但它不起作用。知道为什么吗?