gpt4 book ai didi

java - AccessController checkPermission 总是抛出异常

转载 作者:行者123 更新时间:2023-11-30 11:42:23 24 4
gpt4 key购买 nike

如何检查应用程序是否有权读取或写入文件系统上的特定目录。我正在尝试这个:

try {
AccessController.checkPermission(new FilePermission(files[i]
.getAbsolutePath(), "read,write"));
}
catch (Exception e) {
System.out.println(e.toString());
}

但它总是抛出异常并输出:

java.security.AccessControlException: access denied ("java.io.FilePermission" "C:\Dell" "read")
java.security.AccessControlException: access denied ("java.io.FilePermission" "C:\Documents and Settings" "read")
java.security.AccessControlException: access denied ("java.io.FilePermission" "C:\glut-3.7.6" "read")

我在这里遗漏了什么吗?

最佳答案

似乎 AccessController 在您没有权限时总是抛出异常。您可以通过捕获 SecurityException 来处理此问题。

使用 java.io.File.canRead()java.io.File.canWrite() 方法检查读/写权限的更好解决方案。

关于java - AccessController checkPermission 总是抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11739183/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com