Eclipse 有用于 java 序列化文件的编辑器/查看器吗?

问题描述 投票:0回答:5

我使用

ObjectOutputStream(FileOutputStream(File))
序列化我的对象,并使用类似的
InputStreams
反序列化它们。有没有办法查看这些序列化文件的内部(最好在 Eclipse 中),以便我可以检查是否写入了所有必要的属性?

编辑:谷歌搜索是否定的

java eclipse serialization object viewer
5个回答
4
投票

编写一些测试(使用 Eclipse 的内置 JUnit 支持)。

“查看内部”这些文件的唯一方法是使用

ObjectInputStream(FileInputStream(File))
,除非您是字节码专家并使用十六进制编辑器。如果您确实进行了一些测试,则无需“查看内部”任何内容。


4
投票

虽然这不是一个成熟的编辑器,但 Eamonn McManus 编写了一个转码器,可以将序列化的 blob 解密为人类可读的形式。 http://weblogs.java.net/blog/2007/06/12/disassemble-serialized-java-objects

如果考虑二进制兼容性和性能,那么现在是研究Externalized而不是Serialized的好时机。


2
投票

这不是一个“独立”的答案,只是 OrangeDog 答案的扩展。

“编写一些测试(使用 Eclipse 内置的 JUnit 支持)。”

如果您想测试序列化,请编写执行以下操作的测试:

  1. 将一个对象序列化到文件。
  2. 从同一文件反序列化为不同的对象。
  3. 比较两个对象以查看反序列化的对象包含所有应该已序列化的值(确保“所有必要的属性都已写入”)。

1
投票

编写一个类来加载文件并反序列化对象。然后使用 Eclipse 的调试视图浏览对象(通过设置断点)。


0
投票

我找到了SerializationDumper,下载了它的v1.13二进制jar,并且很快就能够读取序列化文件。

正如您可能期望的那样,工具本身不使用(或需要访问)相应的

.class
文件,文本输出相当神秘 - 但我能够破译包含
 的小对象的内容String[]
、一个
HashSet
和一个
boolean

© www.soinside.com 2019 - 2024. All rights reserved.