java - 将 Java 3d 对象写入自定义文件类型

标签 java serialization encoding binary java-3d

<分区>

所以,我的问题基本上有两个子问题。 我想创建我的自定义文件类型,可能使用 UTF-8 编码。我想我只能通过使用某种我还不知道的方法将编码设置为 UTF-8 或任何适合的方法来保存具有首选扩展名的文件来做到这一点。
我的扩展名为“.molb”。

现在,问题是我需要将 3d 对象(例如球体和圆柱体)写入该文件,并且当我打开该文件时,以某种方式识别并添加到我的宇宙中。
一些文章建议序列化对象和使用 FileBuffers,但没有一篇真正帮助我理解如何将其应用于我自己的问题。

为了清楚起见,我将举以下示例: This image 显示一些应该以某种形式或其他形式保存在文件中的对象(圆柱体和球体),因此当打开该文件时,对象会显示已保存的属性(位置,颜色,方向等)。我的文件也会包含一个存储球体 xyz 位置的数组

最佳答案

如果您的类实现了Serializable,您可以非常简单地将它们写入文件。

DataOutputStream os = new DataOutputStream(new FileOutputStream("myfile.molb"));
os.writeObject(sphare);
os.close();

这个文件是二进制的。您不必关心编码。

但是,如果您想使用 XML、JSON 或其他文本格式序列化您的对象,您可能希望使用其他接受编码的构造函数打开 wrap stream:new OutputStreamWriter(new FileOutputStream("my.txt"), "UTF-8)"。 您还必须添加一些注释(例如 JAXB 或 Jakson)以启用对象到 xml(或 json)的序列化。

关于java - 将 Java 3d 对象写入自定义文件类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13167207/

相关文章:

c++ - 定义 NDEBUG 时 boost 序列化链接器错误

python - 如何将正确的编码参数传递给markdown_py?

java - 二维RGB数组转BufferedImage

Java:如何将剪贴板上的图像粘贴(附加)到word文档

Java - Servlet,在整个项目中携带登录信息( session bean)

php - UTF-8 字符串在某处错误编码

mysql - 哪个 mysql utf8 排序规则用于来自 latin1 的数据

java - 纹理变形,4 点

c# - Dapper 反序列化 XML

algorithm - 存储精确集合成员的最有效方式?