在跨平台Java中将文件存储在用户的目录中

时间:2009-10-15 07:19:35

标签: java cross-platform path

我有一个可以在Mac和Windows上运行的Java应用程序,直接在没有安装的CD / DVD上运行。现在,我需要在本地文件系统的某处存储一个包含每用户数据的文件(想想收藏夹等),以便可以写入。

那么,您认为这个文件的位置在哪里?我想的是:

Windows的

<USER_DOCUMENTS_AND_SETTINGS>/application data/myapp/favourites.db {/ 1}用于mac / nix

思考? 有没有人知道在Java中确定这些路径的最佳方法?

4 个答案:

答案 0 :(得分:7)

System.getProperty("user.home")

答案 1 :(得分:3)

user.home一样,以下内容对于更多临时文件存储非常有用:

System.getProperty("java.io.tmpdir")

答案 2 :(得分:1)

使用Java Preferences API,专门用于以与我们都喜欢的平台无关的方式存储用户首选项值。 Java将负责保存它们并根据操作系统从file或其他backing存储进行检索。

这些tutorials can让你前进

答案 3 :(得分:1)

您可以考虑在Windows下的Roaming directory存储数据。