如何将InputStream.read()转换为double?

时间:2013-03-02 20:16:28

标签: java

有没有一种简单的方法可以将从流中读取的字节数转换为double值?

InputStream input = serialPort.getInputStream();
while(true) {
  byte[] buffer = new byte[ 8 ];
  len = input.read( buffer );
}

buffer =>双倍?

你能用比喻的方式解释一下InputStream.read(byte [] b)是如何工作的吗?

3 个答案:

答案 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和其他内容。您可以使用:

实例化DataInputStream
DataInputStream input = new DataInputStream(YOUR_INPUT_STREAM);

答案 2 :(得分:0)

尝试使用DataInputStream(javadoc)包装InputStream对象并使用readDouble方法