ars*_*nal 23 java security file-io file-permissions accesscontrolexception
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
Run Code Online (Sandbox Code Playgroud)
我正在尝试在文件夹中创建一个文件但我得到例外
java.security.AccessControlException: Access denied
Run Code Online (Sandbox Code Playgroud)
我在Windows环境中工作.我可以从Windows资源管理器创建一个文件夹,但不能从Java代码创建.
我该如何解决这个问题?
Pet*_*y B 20
在您<jre location>\lib\security\java.policy
尝试添加:
grant {
permission java.security.AllPermission;
};
并看看它是否允许你.如果是这样,您将必须添加更多细化权限.
看到:
和
http://java.sun.com/developer/onlineTraining/Programming/JDCBook/appA.html
Nav*_*ved 10
虽然不建议这样做,但是如果你真的想让你的web应用程序访问其部署目录之外的文件夹.您需要在java.policy
文件中添加以下权限(路径与Petey B的回复相同)
permission java.io.FilePermission "your folder path", "write"
Run Code Online (Sandbox Code Playgroud)
在你的情况下,它会
permission java.io.FilePermission "S:/PDSPopulatingProgram/-", "write"
Run Code Online (Sandbox Code Playgroud)
这/-
意味着此文件夹中的任何文件或子文件夹.
警告:但是这样做会引发一些安全风险.