java.security.AccessControlException:拒绝访问(java.io.FilePermission

final File parentDir = new File("S:\\PDSPopulatingProgram"); parentDir.mkdir(); final String hash = "popupateData"; final String fileName = hash + ".txt"; final File file = new File(parentDir, fileName); file.createNewFile(); // Creates file PDSPopulatingProgram/popupateData.txt 

我正在尝试在文件夹中创建一个文件,但我得到例外

 java.security.AccessControlException: Access denied 

我在Windows环境中工作。 我可以从Windows资源管理器创建一个文件夹,但不能从Java代码创建。

我该如何解决这个问题?

\lib\security\java.policy尝试添加:

grant { permission java.security.AllPermission; };

并看看它是否允许你。 如果是这样,您将必须添加更多细化权限。

看到:

Java 8文档的java.policy文件

http://java.sun.com/developer/onlineTraining/Programming/JDCBook/appA.html

虽然不建议这样做,但是如果您真的想让您的Web应用程序访问其部署目录之外的文件夹。 您需要在java.policy文件中添加以下权限(路径与Petey B的回复相同)

 permission java.io.FilePermission "your folder path", "write" 

在你的情况下,它会

 permission java.io.FilePermission "S:/PDSPopulatingProgram/-", "write" 

这里/-表示此文件夹中的所有文件或子文件夹。

警告:但是这样做会引发一些安全风险。