用 java 写入 ~/Library/ApplicationSupport/*?

Write to ~/Library/ApplicationSupport/* with java?

我正在为 Java 中的 Mac 编写一个应用程序,需要存储一些首选项文件。默认情况下,它们似乎存储在用户文件夹中,但我想将文件存储在 Library/ApplicationSupport 文件夹中,但我似乎不知道该怎么做。

我试过 File file = new File("/Library/ApplicationSupport/AppName"); 然后 file.mkdir() 但它一直返回 false。我试过在 /Library/ 前面添加 ~,但也没有用。

我也试过将文件写入 FileOutputStream 上的所需目录,但也没有成功。我对其他存储我的首选项文件的方式持开放态度,我只是不希望它们以对用户有干扰的方式存储。

谢谢!

您无法写入 /Library/ApplicationSupport,因为您的用户没有权限。

普通的Java io 类不理解“~”,所以要写到~/Library/ApplicationSupport,你需要:

System.getProperty("user.home") + "/Library/ApplicationSupport"