Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#:读取使用ObjectInputStream在Java中创建的文件_Java_C#_Objectinputstream_Objectoutputstream - Fatal编程技术网

C#:读取使用ObjectInputStream在Java中创建的文件

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中所做的

我有一个Java应用程序,它使用ObjectInputStream类创建首选项文件,例如:

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、,或者其他一些可移植的格式。本页提供了有关该格式的信息-您将看到它不是一个简单的过程。好吧,事情不会像我想的那么简单,但无论如何,谢谢你们的帮助:)