好吧,问题很简单。
我有一个 Java 程序,我正在将它的一些保存文件提取到外部位置。
现在,我使用 C:/ApplicationName
,但是,这是一种非常糟糕的方式。
我知道很多我可以使用的位置,例如:
%Appdata%
C:\Program Files (x86)
C:\Users\Users\Documents (Ive seen some indie games use this.)
其他地点?
但我不知道什么时候使用合适的。
如果我想支持 Linux 和 OSX,是否有支持它的库,或者我必须手动将它们包装到 if/else 中 System.getProperties("os.name")
?
最佳答案
请记住,有时当游戏保存到特定目录时,它们并不是为跨平台构建的。
有两种方法可以做到这一点。第一个(也是我个人的首选版本)是保存在应用程序的目录中。这也具有便携的优点。但是,保存链接到应用程序,因此如果用户删除应用程序并稍后重新安装,他们将丢失数据(这可能是好事,也可能不是好事)。
另一种选择是使用 System.getProperty()
.
具体来说,您可以使用:
System.getProperty("user.dir");
System.getProperty("user.home");
System.getProperty("user.name");
找出文件的存放位置。
这样会复杂很多,所以首选第一种方法。
关于java - 通常在哪里保存来自 Java 应用程序的外部数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23740521/