【发布时间】:2013-04-05 14:44:17
【问题描述】:
我正在制作一个 Java 游戏,它将选项和 LWJGL jar 存储在标准应用程序数据存储目录中(我认为在 Windows 上是 C:\Users\user\AppData\roaming\application,在 Linux 上是 ~/.application,并且~/Library/Preferences 在 Mac 上)。目前我只使用 System.getProperty(os.name) 并有一个 if-else 来选择正确的文件路径(它使用 system.getProperty(user.home) 并附加正确的文件路径)。但是,这可能不适用于某些奇怪的操作系统,因为 if-else 不会在操作系统名称中找到 Windows、Mac 或 Linux,而且这似乎也是一种非常糟糕的方法(也是 if-如果不是 Windows 或 Mac,则假定操作系统是 Linux)。我尝试反编译 Minecraft,它将应用程序数据和 LWJGL jar 存储在正确的路径中,但代码被混淆了。有什么更好的方法可以做到这一点,还是应该在 os.name 上坚持使用 if-else?
【问题讨论】:
-
真的有必要将这些文件存放在特定位置吗?
-
另请参阅:1)
Preferences“此类允许应用程序存储和检索用户和系统首选项和配置数据。这些数据永久存储在依赖于实现的后备存储中。” 2) JWS 应用的PersistenceService。 3) 小程序的 Cookie。
标签: java cross-platform persistence file-storage