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

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

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

/application data/myapp/favourites.db for windows /.myapp/favourites.db for mac / nix

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

 System.getProperty("user.home") 

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

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

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

这些教程 可以帮助你

您可以考虑将数据存储在Windows下的Roaming目录中 。