【发布时间】:2012-07-03 10:40:18
【问题描述】:
我正在使用 Java 开发一个游戏项目,我需要将 config.ini 文件存储在可执行文件 jar 位置以外的其他位置。我知道人们通常将它们保存在 Windows 上的 AppData 中,但我想让我的游戏完全可移植,完全不受操作系统限制。但要这样做,我需要知道在哪里存储此类文件。
我想知道人们通常将此类文件存储在其他 UNIX 操作系统上的什么位置,主要是 Ubuntu 或 Macintosh (OS X)。
如果您能详细解释一下有关此类操作系统的目录,我也将不胜感激,因为我不拥有这些系统中的任何一个。我的意思是,例如,在 Windows 中,人们通常将他们的应用程序放在桌面上,而 Mac 用户将它们放在应用程序文件夹中。在 Mac 的情况下,在该应用程序目录中创建一个文件夹会和在 Windows 桌面上创建一个文件夹一样糟糕吗?
另外,在 Ubuntu 的情况下,相当于 Windows 上的 AppData 的位置在哪里? Mac 的情况呢?保存游戏截图或在AppData 或等效项中创建保存游戏是个坏主意吗?我真的不想使用通常的Program Files 目录。
最后,一个更加代码方面的问题。我知道在 Java 中你可以获取 Window 的 AppData 位置并像下面的代码连接这样的路径:
Path FOO = Paths.get(System.getenv("AppData"), "BAR");
Mac 和 Ubuntu 呢?以及如何检查用户使用的是 Windows 还是 Ubuntu?
非常感谢, -雷纳托
【问题讨论】:
-
您考虑过 Java Preferences API 吗? docs.oracle.com/javase/1.4.2/docs/guide/lang/preferences.html(对于问题的 config.ini 部分,对于保存游戏来说不是那么多)。
-
好吧,我对 Java Preference API 不是很熟悉。问题是,我希望用户实际上能够以用户友好的方式编辑
config.ini文件,就像人们在处理 AAA 游戏时通常所做的那样。我已经准备好一个config.ini文件,以及一种检查写入此类文件的配置并将其应用于游戏的迷你语言。另外,正如您所提到的,保存游戏仍然需要存储在某个地方。不过还是谢谢!
标签: java operating-system appdata userappdatapath