具有AccessController.checkPermission的java目录权限
我试图通过checkPermission()方法获得目录权限,如代码所示具有AccessController.checkPermission的java目录权限,java,jakarta-ee,Java,Jakarta Ee,我试图通过checkPermission()方法获得目录权限,如代码所示 private静态布尔dir权限(字符串dir、字符串perm){ 试一试{ AccessController.checkPermission(新文件权限(dir,perm)); 返回true; }捕获(AccessControlException e){ 返回false; } } java(首先,您可能应该使用SecurityManager FilePermission可以很好地处理目录。您可能希望包含下面包含的所有文件
private静态布尔dir权限(字符串dir、字符串perm){
试一试{
AccessController.checkPermission(新文件权限(dir,perm));
返回true;
}捕获(AccessControlException e){
返回false;
}
}
java(首先,您可能应该使用
SecurityManager
FilePermission
可以很好地处理目录。您可能希望包含下面包含的所有文件和目录。在结尾处使用/-
。对于非递归包含的文件和目录,使用/*
如果当前访问控制上下文(acc)的任何帧(或其ProtectionDomain
)没有所需的权限,则checkPermission
将引发异常
FilePermission
与操作系统权限无关。Hawtin,那么我可能是找错了方向。如果不是这样,我应该如何检索操作系统目录权限,比如ls-l命令的输出?我相信“更多NIO功能”JDK7支持它,或者类似的1.6库,或者只是老式的解析ls-l
的输出。
private static boolean dirPermissions(String dir, String perm) {
try {
AccessController.checkPermission(new FilePermission(dir, perm));
return true;
} catch (AccessControlException e) {
return false;
}
}