小编Gur*_*lra的帖子

如何从没有类文件的序列化Java对象中检索对象状态

我有一个二进制文件,其中包含Java Serialized对象(它们是值对象),但我无法访问序列化创建这些对象的Class.没有类文件,JVM不允许我使用objectInputStreamInstance.readObject()读取对象,并正确地抛出java.lang.ClassNotFoundException.

是否有可以帮助以XML或其他标准格式提取数据的库?例如,如果下面的Person类被序列化并存储在一个文件中,我想从中提取数据:

类定义

class Person implements Serializable {
  int age;
  String name;
  public Person(int age, int name) {
    this.age = age;
    this.name = name;
  }
}
Run Code Online (Sandbox Code Playgroud)

必需的提取格式(无需访问类文件)

<Person>
  <age>10</age>
  <name>Name</name>
</Person>
Run Code Online (Sandbox Code Playgroud)

我还检查了以下但没有得到我想要的东西:

  1. Xstream(http://x-stream.github.io/)需要访问Java对象才能从该对象创建XML.但是,我无法为缺少类文件创建对象.
  2. 血清透析似乎很老了https://weblogs.java.net/blog/emcmanus/archive/2007/06/disassembling_s.html

谢谢您的帮助.

此致,Gursev

java xml serialization xstream deserialization

6
推荐指数
1
解决办法
1972
查看次数

标签 统计

deserialization ×1

java ×1

serialization ×1

xml ×1

xstream ×1