创建原始数据框架或二进制读写

时间:2011-01-05 09:02:49

标签: java bytearray bytecode-manipulation

我正在开发一个项目,其中数据必须以二进制格式读取,但可以采用结构格式。在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

但是对于写入数据,我仍然使用常规方法在一些函数的帮助下在字节数组中打包数据 任何人都有同类项目的工作或有更好的想法

1 个答案:

答案 0 :(得分:0)

当前的代码库确实包含一些用于写入数据的字节,但是,它还没有完成。话虽如此,它可能适用于您目前的情况:

Codec<Packet> codec = Codecs.create(Packet.class);
Packet packet = ...;
OutputStream out = ...;
codecs.encode(packet, codec, out);