【问题标题】:Saves game level settings保存游戏关卡设置
【发布时间】:2013-09-27 20:29:08
【问题描述】:

我已经编写了大约一个月的代码,并且找到了解决任何问题的方法,但只有一个。您可能从标题中看到的问题是如何找到一种方法来进行游戏保存。我目前正在创建一个非常简单的游戏,其中包含大约 5 类我的代码和可能 2 类 Java Swing GUI。

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

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

【问题讨论】:

    标签: java file save settings


    【解决方案1】:

    由于 jar 是只读的,它只能包含“默认设置”。有关处理此类 的一般策略,请参阅this answer

    谈到哪些(嵌入式资源),请参阅info. page,了解有关如何访问它们的更多详细信息。

    这是storing and reading a Properties file from the 'current directory' 的示例。

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


    但属性文件只是一种选择。您还可以序列化一个对象,或者以您的应用程序的自定义格式编写文件。知道如何阅读,前两个从我的头顶上掉下来。

    除了“在File 中序列化(以某种形式)”之外,还有Preferences API,或者对于使用Java Web Start 启动的桌面应用程序,PersistenceService。这是demo. of the service

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • 也许 OP 也可以使用 java.lang.prefs 包,因为它独立于操作系统。
      • MadProgrammer 你能解释一下吗
      • @EricJablow 或 Properties,但 OP 确实声明他们知道如何编写文件...
      • @Dev 我不确定您还想知道什么。您说您知道如何编写文件,并且您想要某种方式来获取用户的“主”文件夹(即 Windows 下的 Docs 和 Settings),http://docs.oracle.com/javase/tutorial/uiswing/ 将为您提供对用户主目录的引用。如果您在 Windows 上,我建议使用 AppData/Roaming/{your application name} 将文件放在...
      • 好的,谢谢,现在我明白了,但是如果我在 AppData/Roaming/{your application name} 中编写一个文件,它将超越 URL 中之前的任何内容,例如 C:/Documents and Setting/ {用户}/?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-15
      • 1970-01-01
      • 2015-06-08
      • 1970-01-01
      • 2015-01-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多