Java 保存游戏级别设置

Java 保存游戏级别设置,java,file,save,settings,embedded-resource,Java,File,Save,Settings,Embedded Resource,我已经编写了大约一个月的代码,我已经找到了一些方法来适应除了一个问题以外的任何问题。正如你可能从标题中看到的那样,问题在于如何在比赛中进行扑救。我目前正在创建一个非常简单的游戏,它有大约5个我的代码类,可能还有2个JavaSwingGUI 我知道我想如何进行保存过程,但我不知道如何在我的代码中这样做。我希望通过让代码在文件中打印一个数字或整数来表示一个级别。例如,如果您完成了级别1,则文件中的数字将为1。我为此尝试了一些模板,但都不起作用 我知道如何写入文件,但我的问题是从jar中读取它,甚至创

我已经编写了大约一个月的代码,我已经找到了一些方法来适应除了一个问题以外的任何问题。正如你可能从标题中看到的那样,问题在于如何在比赛中进行扑救。我目前正在创建一个非常简单的游戏,它有大约5个我的代码类,可能还有2个JavaSwingGUI

我知道我想如何进行保存过程,但我不知道如何在我的代码中这样做。我希望通过让代码在文件中打印一个数字或整数来表示一个级别。例如,如果您完成了级别1,则文件中的数字将为1。我为此尝试了一些模板,但都不起作用

我知道如何写入文件,但我的问题是从jar中读取它,甚至创建一个文件,然后从计算机上的某个位置读取它。我需要知道如何找到不同计算机的文件URL,因为有些计算机使用文档、设置和其他用户。请找个人帮忙

我需要知道如何找到不同计算机的文件url,因为 有些人使用文档、设置和其他用户

System
属性
user.home
指向用户的主目录

File userHome = new File(System.getProperty("user.home"));

因为jar是只读的,所以它只能包含“默认设置”。请参阅,了解处理此类问题的总体策略

谈到哪些(嵌入式资源),请参阅,以了解有关如何访问这些资源的更多详细信息

下面是一个例子

正如@MadProgrammer所提到的,将设置文件放入
user.home
的(子目录)中是最安全的,如中所示


但是属性文件只是一种选择。您还可以序列化对象,或者以应用程序支持的自定义格式写入文件。我知道如何阅读,因为前两个是我脑子里想的


除了“在
文件中序列化(以某种形式)
”之外,还有API,或者对于使用
PersistenceService启动的桌面应用程序
。这里有一个.

也许OP也可以使用
java.lang.prefs
包,因为它是独立于操作系统的。mad程序员您能解释一下吗more@EricJablow或者
属性
,但OP确实声明他们知道如何编写文件…@Dev我不确定您还想知道什么。您说您知道如何编写文件,并且希望通过某种方式获取用户的“主页”文件夹(即Windows下的文档和设置),
http://docs.oracle.com/javase/tutorial/uiswing/
将为您提供对用户主目录的引用。如果您在Windows上,我建议使用
AppData/Roaming/{your application name}
将文件放入…好的,谢谢,现在我明白了,但是如果我在AppData/Roaming/{your application name}中编写文件,它将超越URL中的任何内容,例如C:/Documents和设置/{User}/?