将序列化Java对象转换为C#对象

时间:2016-03-02 01:17:11

标签: java c# serialization

我有一个非常旧的Java应用程序,我在.net中重写,我无法以任何方式更改Java代码或旧文件。

他们创建并存储了10,000多个文件,这些文件与此article中描述的格式相匹配,这是一组序列化的Java对象。

问题

  • 如何在c#中解析这些Java对象?
  • 这甚至可能吗?

最后,如果我可以读入并序列化数据,我可以以更通用的格式存储它。当我尝试反序列化文件时,我遇到异常,通常告诉我二进制格式无效。

1 个答案:

答案 0 :(得分:1)

有人提出了类似的问题here

您有几个选择。一种是编写一个能够以Java的序列化格式(你链接的格式)读取对象的C#类,但这可能非常耗时。使用C#的原生反序列化算法不会起作用,因为格式不同(正如您所遇到的那样)。

更简单的替代方法是使用Java程序从文件中读取对象,并将它们保存为更通用的格式,例如JSON。 (根据对另一个问题here)的回答中的建议