日期:2014-05-20  浏览次数:20632 次

java保存结构体文件的问题
需求:一个运行linux的嵌入式设备[arm9平台],需要一个配置文件,该配置文件的格式其实就是c结构体数组,该结构体就是c结构体,通过sizeof可以得到精确的字节数。现在想用java编写一个配置程序,运行在windows平台的pc机上[由于本人不会windows编程,而且目前正在学习java,因此当作一个学习java编程的练手机会]。java程序通过界面输入相关信息,生成配置文件,然后和嵌入式设备通信下载到设备端。

问题:java中对文件的写操作封装在类中,好像不能对内存布局进行精确控制,如何保证java保存的对象数组文件中的每个对象和c结构体中的内存布局一致,这样在嵌入式设备中的c程序可以正确读取?

比如:c结构体的类型:
typedef struct _item {
    char  zname[4];
    char  pname[4];
    unsigned short  znr;
    unsigned short  pnr;
    int   ztp;
} item_t;

配置文件保存的就是上述结构数组,大小是512*sizeof(item_t)
在java中如何保存?请java高手指教。

------解决方案--------------------
javolution
http://javolution.org/target/site/apidocs/javolution/io/Struct.html