我有几个 3D 对象添加到TransformGroup
. 3D对象不作为变量存在,而是例如添加到TransformGroup
vianew Sphere()
中,但是TransformGroup
该类不实现Serializable
接口。
那么,我应该如何将我的对象序列化为文件并在读取文件时访问我的对象?
PS我真的不知道如何序列化为XML文件,我不确定这是否是我需要的一个好选择。
我有几个 3D 对象添加到TransformGroup
. 3D对象不作为变量存在,而是例如添加到TransformGroup
vianew Sphere()
中,但是TransformGroup
该类不实现Serializable
接口。
那么,我应该如何将我的对象序列化为文件并在读取文件时访问我的对象?
PS我真的不知道如何序列化为XML文件,我不确定这是否是我需要的一个好选择。
不仅TransformGroup
,而且您的个人原语Sphere
也都缺少Serializable
接口。因此,尽管您可以很容易地获得所有孩子的列表,但序列化该列表并不是向前迈出的一大步。至少乍一看,这些对象看起来像 Java Bean。如果它们确实是,那么您可以使用 aXMLEncoder
来序列化它们。请注意,以这种方式生成的 XML 可能包含相当多的任意 Java 命令,因此从不受信任的源反序列化此类文件可能存在安全隐患。我想有第三方 Bean 编码器可以避免这个问题。但这XMLEncoder
可能是一个合理的第一步,看看这是否有效,或者如果没有,它会在哪里失败。