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代码创建。
我该如何解决这个问题?
在
尝试添加:
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"
这里/-
表示此文件夹中的所有文件或子文件夹。
警告:但是这样做会引发一些安全风险。