有没有一种简单的方法可以将从流中读取的字节数转换为double值?
InputStream input = serialPort.getInputStream();
while(true) {
byte[] buffer = new byte[ 8 ];
len = input.read( buffer );
}
buffer =>双倍?
你能用比喻的方式解释一下InputStream.read(byte [] b)是如何工作的吗?
答案 0 :(得分:3)
如果您经常进行此类操作,可能最好使用DataInputStream,它提供一组操作,如readDouble等。
DataInputStream input = new DataInputStream(serialPort.getInputStream());
double d = input.readDouble();
答案 1 :(得分:2)
InputStream.read(byte[] b)
会将下一个字节读入b
参数。
并且,您可以尝试使用DataInputStream来阅读Double,Float,Integer和其他内容。您可以使用:
实例化DataInputStreamDataInputStream input = new DataInputStream(YOUR_INPUT_STREAM);
答案 2 :(得分:0)
尝试使用DataInputStream(javadoc)包装InputStream对象并使用readDouble方法