我正在ObjectOutputStream(FileOutputStream(File))
使用类似的InputStreams
. 有没有办法查看这些序列化文件的内部(最好在 eclipse 中),所以我可以检查是否编写了所有必要的属性?
编辑:谷歌搜索是否定的
我正在ObjectOutputStream(FileOutputStream(File))
使用类似的InputStreams
. 有没有办法查看这些序列化文件的内部(最好在 eclipse 中),所以我可以检查是否编写了所有必要的属性?
编辑:谷歌搜索是否定的
编写一些测试(使用 Eclipse 的内置 JUnit 支持)。
“查看内部”这些文件的唯一方法是使用ObjectInputStream(FileInputStream(File))
,除非您是字节码专家并使用十六进制编辑器。如果您确实进行了一些测试,则无需“查看内部”任何内容。
虽然这不是一个成熟的编辑器,但 Eamonn McManus 编写了一个代码转换器,它将序列化的 blob 解密为人类可读的形式。 http://weblogs.java.net/blog/2007/06/12/disassemble-serialized-java-objects
如果考虑二进制兼容性和性能,这将是研究 Externalizable 而不是 Serializable 的好时机。
这不是一个“独立”的答案,只是 OrangeDog 答案的扩展。
“编写一些测试(使用 Eclipse 的内置 JUnit 支持)。”
如果要测试序列化,请编写执行以下操作的测试:
编写一个加载文件并反序列化对象的类。然后使用 Eclipse 的 Debugging View 浏览对象(通过设置断点)。