我正在使用此函数将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。顺便说一下,我多次调用这个函数。我读到当读取的字节数多于缓冲区大小时会发生这种情况。但有谁能告诉我如何避免它?
有没有办法将原始bytearray复制到大小为4的新bytearray并将此bytearray传递给函数?
更新: 我在main方法中试过这个:
byte[] bbTemp=new byte[4];
bbTemp = originalbyteArray;
并将bbTemp传递给上述函数,但它不起作用。知道为什么吗?
答案 0 :(得分:2)