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