在mac中按应用程序(.jar)读取/写入文件时,权限被拒绝

时间:2013-01-09 06:29:33

标签: java macos swing

我在swing中创建了一个应用程序,也为同一个应用程序创建了一个安装程序。

安装程序和应用程序在Windows系统上运行完美。

但我的问题是当我尝试在mac os中运行它时,它并不能完全与所有数据一起运行。

我发现在我的应用程序中我使用了“.xyz”类型的属性文件和目录来保存一些数据,所以在mac os“中”。前置作为隐藏文件。

它给出了错误,如

Error: /Users/userxyz/Library/Application Support/.appdir/.propertydir/.logininfo (Permission denied)

java.io.IOException: Permission denied
    at java.io.UnixFileSystem.createFileExclusively(Native Method)
    at java.io.File.createNewFile(File.java:883)

是否有任何人有解决方案来解决上述错误?

1 个答案:

答案 0 :(得分:4)

  

问题出在Mac OS上。

不,问题是没有权限写入Library的{​​{1}}目录。 Java WebStart通常绰绰有余,但您至少应该遵循Technical Q&A QA1170: Important Java Directories on Mac OS X中建议的方法。请注意用户首选项,用户数据和应用程序支持之间的区别,每个用户首​​选项都以userxyz为根。另请注意,System.getProperty("user.home")默认使用java.util.Preferences。此外,还有 no 使用隐藏文件名的原因。