C#:读取使用ObjectInputStream在Java中创建的文件
我有一个Java应用程序,它使用ObjectInputStream类创建首选项文件,例如:C#:读取使用ObjectInputStream在Java中创建的文件,java,c#,objectinputstream,objectoutputstream,Java,C#,Objectinputstream,Objectoutputstream,我有一个Java应用程序,它使用ObjectInputStream类创建首选项文件,例如: FileOutputStream file = new FileOutputStream(path); ObjectOutputStream oos = new ObjectOutputStream(file); oos.writeObject(object); oos.flush(); oos.close(); 此方法可创建以下文件: 现在,我想在c#应用程序中正确读取此文件,就像您在java中所做的
FileOutputStream file = new FileOutputStream(path);
ObjectOutputStream oos = new ObjectOutputStream(file);
oos.writeObject(object);
oos.flush();
oos.close();
此方法可创建以下文件:
现在,我想在c#应用程序中正确读取此文件,就像您在java中所做的那样,例如:
ObjectInputStream = new ObjectInputStream(filestream);
CalendarLine lineSaved = (CalendarLine) ois.readObject();
我找到的大多数解决方案都使用xml序列化,但我的java应用程序创建.ser文件
谢谢你的帮助:)
注意:我不能更改java代码来生成其他文件
PS:很抱歉我的英语不好^ ^“注意:我无法更改java代码来生成其他文件。”这是非常非常不幸的。这意味着您基本上必须将Java二进制序列化移植到.NET,或者找到其他具有此功能的人。Java二进制序列化从来没有像C#binary serialization那样是一种可移植(跨语言)的数据格式。与其编写C#代码来读取Java序列化数据,不如编写一个小型Java程序来读取序列化数据,并将其写回JSON、XML、,或者其他一些可移植的格式。本页提供了有关该格式的信息-您将看到它不是一个简单的过程。好吧,事情不会像我想的那么简单,但无论如何,谢谢你们的帮助:)