我正在开发一个项目,其中数据必须以二进制格式读取,但可以采用结构格式。在java中结构不可用。我已经以字节数组发送数据。它也有一些结构。
例如
数据包
int length
int sequence no
MessageData
MessageData 的MessageHeader MessageBody
的MessageHeader int data1 长数据2 char [] data3 // 2bytes char [] data4 // 3个字节
MessageBody相同
但是数据应该以字节数组打包。
人们可以在CPP中做到
#pragma(2) //for word alignment
struct Packet{
int length
int sequence no
MessageData msgdata
}
我必须在java中实现。
用于读取数据我正在使用Preon库
但是对于写入数据,我仍然使用常规方法在一些函数的帮助下在字节数组中打包数据 任何人都有同类项目的工作或有更好的想法
答案 0 :(得分:0)
当前的代码库确实包含一些用于写入数据的字节,但是,它还没有完成。话虽如此,它可能适用于您目前的情况:
Codec<Packet> codec = Codecs.create(Packet.class);
Packet packet = ...;
OutputStream out = ...;
codecs.encode(packet, codec, out);