【发布时间】:2015-02-16 16:28:07
【问题描述】:
我正在尝试跟进 tutorial 关于从 srtm-data 读取高度的信息。最后我必须从一个文件中读取 2 个字节,它们是大端的,并且必须将它们转换为 java 中的整数。
File file = new File(filename);
InputStream inputStream = new FileInputStream(file);
long length = file.length();
byte[] bytes = new byte[(int) length];
inputStream.read(bytes);
inputStream.close();
byte[] byteArr = new byte[2];
byteArr[0] = bytes[pos];
byteArr[1] = bytes[pos+1];
int height = ByteBuffer.wrap(byteArr).order(ByteOrder.BIG_ENDIAN).getInt();
问题是我得到了一个
java.nio.BufferUnderflowException
因为 java 需要更多的字节。 如何将这两个字节转换为整数?
【问题讨论】:
-
您可以阅读短片并进行宣传。
标签: java integer byte endianness