序列化问题java

时间:2013-01-13 16:57:29

标签: java file serialization xml-serialization java-3d

我有几个3D对象被添加到TransformGroup。 3D对象不作为变量存在,而是通过new Sphere()添加到TransformGroup,但TransformGroup类未实现Serializable接口。 那么,我应该如何将对象序列化为文件并在读取文件时访问我的对象?

P.S。我真的不知道如何序列化到XML文件,我不确定这是否是我需要的一个很好的选择。

1 个答案:

答案 0 :(得分:1)

不仅TransformGroup,而且您的个别原语(如Sphere)也都缺少Serializable界面。因此,尽管您可以非常轻松地获得所有孩子的列表,但序列化该列表并不是一大进步。对象看起来像,就像Java Bean一样,至少乍一看。如果它们确实存在,那么您可以使用XMLEncoder来序列化它们。请注意,以这种方式生成的XML可能包含几乎任意的Java命令,因此从不受信任的源反序列化此类文件可能存在安全隐患。我猜有第三方Bean编码器可以避免这个问题。但XMLEncoder可能是合理的第一步,看看它是否有效,或者如果没有,它可能会失败。