Java 有个 ByteBuffer 可以读二进制数据
ByteBuffer buffer = ByteBuffer.wrap(headerBytes);
buffer.order(ByteOrder.BIG_ENDIAN);
PacketHeader header = new PacketHeader();
header.packetSize = buffer.getInt();
header.channelNumber = buffer.getInt();
注意你写入的大小端和读取的大小端。
【 在 fishingriver 的大作中提到: 】
: 写入的时候在c++里,用fwrite, 类似于
: fwrite(&y, sizeof(float), 1, fp);
: 现在想用java读出来,但读不正确的数据出来
: ...................
--
FROM 120.33.8.*