【发布时间】:2015-05-10 23:33:34
【问题描述】:
我创建了一个包含一些对象的基本游戏。我想让程序的用户能够保存和加载程序的状态。
我研究了多篇文章并阅读了许多 overstack 帖子。我对方法的数量以及每种方法的复杂性感到惊讶。
大多数方法要求我创建所有要保存的对象的框架或骨架,然后逐行加载它们,手动调用每个对象,然后将其转换回其数据类型和类。
是的,我是编程新手。但我不是要讲义。我要求一个简明的解释。
我在探索输出到 XML 文件的想法时阅读了以下文章。
http://www.mkyong.com/java/how-to-create-xml-file-in-java-dom/
正如我所说,我是编程新手。我应该在学习 XML 的同时学习 Java 吗?
我的问题如下:
A) 我的 IDE 在成功编译后是否不知道我有多少对象、它们的数据类型以及它们属于什么类?
B) 有没有办法保存所有对象而不单独指定它们。
c) 我是否夸大了保存简单程序的复杂性?
【问题讨论】:
-
保存并加载程序?保存对象?目前还不清楚你在问什么。是否要将对象保存到文件中?
-
或许可以看看Serialization
-
抱歉含糊不清。我想保存游戏。我希望用户能够保存游戏,离开一天,回来,并在他们开始的地方加载他们的游戏,所有对象都完好无损。
-
您可以使用 XML 或 JSON 将数据序列化为文本。您也可以使用
Serializable接口和ObjectOutputStream到字节码(?),但JSON 更可靠。如果您有一个集体GameModel类,其中包含与当前游戏状态相关的所有现有实体,那么您可以序列化该类,而所有其他类将递归序列化。 -
感谢所有 cmets。我想答案是,它绝对像我想象的那样压倒一切。听起来我要去看一些关于如何将游戏状态转换为 JSON 的 youtube