不熟悉java IO。这是一个问题:一个字节流,它包含一系列介于-1和1之间的浮点数。我应该如何读取输入?
我试过这个:
BufferedReader br=new BufferedReader(new ByteInputStream(buf, length));
但不知道。
感谢。
答案 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?