Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中生成永久数据?_Java - Fatal编程技术网

如何在java中生成永久数据?

如何在java中生成永久数据?,java,Java,我正在制作一个保存文件的游戏,所以我需要制作永久数据。当java关闭时,它不会消失。搜索答案时,页面会显示使用properties类,但该类的文档表明它不会永久存储数据,也不会下载某些类。然而,我想学习如何在不下载类的情况下做到这一点,而只是使用java。如何生成永久数据?您应该将其存储在文件中(使用/xml),或者可以将其存储在MySQL数据库中,以便快速方便地访问。如果类似于玩家数据或地图,请使用文件。但如果是类似于多人小型服务器数据,我建议使用MySQL。要将永久数据存储在文件中,请使用G

我正在制作一个保存文件的游戏,所以我需要制作永久数据。当java关闭时,它不会消失。搜索答案时,页面会显示使用properties类,但该类的文档表明它不会永久存储数据,也不会下载某些类。然而,我想学习如何在不下载类的情况下做到这一点,而只是使用java。如何生成永久数据?

您应该将其存储在文件中(使用/xml),或者可以将其存储在MySQL数据库中,以便快速方便地访问。如果类似于玩家数据或地图,请使用文件。但如果是类似于多人小型服务器数据,我建议使用MySQL。要将永久数据存储在文件中,请使用Gson library

根据总体需要,您可以选择许多选项

对于
属性
,您可以使用其中一种方法加载以前保存的属性并保存它们


您还可以看看哪个讨论了许多可能性

如果您使用的是java,那么我确信您有对象并希望保存它们

您可以使用java.io.ObjectOutputStream类将对象写入任何流。使用此选项,您可以将对象写入文件并在以后加载


首选不要忘记您的对象类来实现可序列化的接口和给定的serialVersionId,它将确保您的对象以相同的方式正确序列化和反序列化。

将其持久化到数据库、文件io或基于场景的某些持久缓存机制如果它是您想要存储的小东西,您可以使用java的内置文件io。
Properties#load
Properties#store
允许您读取/写入
属性
,例如。您还可以看看哪些讨论涉及到许多可能的解决方案,您必须以这种或那种方式写入文件。如果我使用属性将存储信息的.txt文件放在何处?我复制并粘贴了使用属性的代码,但它找不到我的.txt文件。此外,如果这影响到任何事情,我将使用intellij。我将存储的文件相对于执行程序的位置,最有可能是项目位置周围的某个位置。您可以将配置存储在user.home目录中,通常在windows下使用{user.home}/{app name}或user.home}/AppData/local/{app name}完成此操作. 请参阅System.getProperty(“user.home”)以获取用户的主目录pathObject序列化用于对象的短期存储,通常用于跨线传输。对于长期存储来说,这是一个糟糕的选择,因为如果数据所基于的对象发生更改,数据很容易过时,尤其是当您对所有其他可能的选择进行调整时