java如何读记录型的文件?(100分)

  • 主题发起人 主题发起人 lazy_cat
  • 开始时间 开始时间
L

lazy_cat

Unregistered / Unconfirmed
GUEST, unregistred user!
在java中有randomaccessfile,只能readbyte,readdouble,不能象delphi一样readbuffer!
也不能象c一样读到结构变量中,我该怎么办?
 
对象序列化。
 
用objectinputstream吗,但文件是以其他语言以记录的方式(c,delphi)生成的,
也可以读吗?
 
那你就只有自己分析文件结构去读了。
delphi也不能读c的结构类型生成的文件啊。
 
谢谢小猪:
delphi可以读c的结构类型的文件,因为它的record和c语言的struct是一样的,现在
java没有记录型的结构,不过就是有,类型长度也不同,真是头痛啊!
看来只有调用c语言了。
 
真的吗?想想两种语言好像有很多不同的变量类型。
 
如果是Java写的文件,将结构类型的数据改成类,然后用objectinputstream就可以了。
如果是其他语言写的程序,我建议用JNI中C/C++ 与 Java 的类型映射,或JNI_XP中 Delphi
与 Java的类型映射,然后做一个objectinputstream的子类,重载resolveClass方法,
应该可以读出结构。
我没试过,祝你好运!
 
多人接受答案了。
 
后退
顶部