java读取浮点数的字节流

时间:2013-12-18 07:45:59

标签: java io

不熟悉java IO。这是一个问题:一个字节流,它包含一系列介于-1和1之间的浮点数。我应该如何读取输入?

我试过这个:

BufferedReader br=new BufferedReader(new ByteInputStream(buf, length));

但不知道。

感谢。

1 个答案:

答案 0 :(得分:2)

你可以从这样的缓冲区中读取一个浮点数:

try(DataInputStream dis = new DataInputStream(new ByteArrayInputStream(buf, 0, len))){
    // ...
    float v = dis.readFloat();
    // ...
}

BufferedReader不需要,因为这个会从缓冲区中读取。

如果您的浮点数来自C ++应用程序,您可以读取整数并使用Float.intBitsToFloat()将它们转换为Java浮点数:Best way to serialize a Float in java to be read by C++ app?