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

dal*_*ons 4 java cross-platform path

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

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

<USER_DOCUMENTS_AND_SETTINGS>/application data/myapp/favourites.db 用于windows <USER_HOME_DIR>/.myapp/favourites.db for mac/nix

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

Ric*_*dOD 10

System.getProperty("user.home")
Run Code Online (Sandbox Code Playgroud)

  • System.getProperty("user.home")+ File.separator +"Application Data"; (4认同)

oxb*_*kes 5

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

System.getProperty("java.io.tmpdir")
Run Code Online (Sandbox Code Playgroud)