gpt4 book ai didi

java - 在其他操作系统上存储文件时 AppData (Windows) 的替代方案

转载 作者:行者123 更新时间:2023-11-30 09:35:34 25 4
gpt4 key购买 nike

我正在用 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?


Thank you very much,-Renato

最佳答案

对于大多数类 Unix 操作系统,包括 Ubuntu 和其他 Linux 发行版,您应该遵循 XDG Base Directory specification ,它描述了应该存储用户首选项的位置(即环境变量 $XDG_CONFIG_HOME 的值,如果它存在,回落到 ~/.config/)。该目录用于配置。保存游戏应该进入 $XDG_DATA_HOME 或者如果没有指定 ~/.local/share,类似地。

OS X 也是类 Unix,但使用自己的路径。这在 Equivalents of XDG_CONFIG_HOME and XDG_DATA_HOME on Mac OS X? 中有解释。 .

关于java - 在其他操作系统上存储文件时 AppData (Windows) 的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11303453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com