我必须为Java类编写一些有关文件权限的代码,然后找到FilePermission
类。但是,当我尝试使用它来更改我的文件权限时,什么也没发生。我知道我可以使用file.setReadable
之类的东西。但是我的问题是我是否可以使用FilePermission
类来更改权限,如果不是,则该类是什么意思
String pathToFolder="C:\\tmp\\file.txt";
FilePermission folderPermission = new FilePermission("C:\\tmp\\*", "read");
PermissionCollection permission = folderPermission.newPermissionCollection();
permission.add(folderPermission);
FilePermission dataPermission = new FilePermission(pathToFolder, "write");
permission.add(dataPermission);
if(permission.implies(new FilePermission(pathToFolder, "read, write"))) {
System.out.println("Read, Write permission is granted for the path "+pathToFolder);
}
else {
System.out.println("No Read, Write permission is granted for the path " + pathToFolder);
}
现在,我可以使用它来比较PermissioCollection
上的两个权限,但是它仍然不会更改对实际文件的权限。
感谢您的帮助,对不起我的英语。
答案 0 :(得分:0)
FilePermission的Java文档明确指出,该Java类用于表示操作(即读/写/删除/执行/读取链接)。它不会更改现有文件/文件夹的权限。
您可以严格按照示例中的定义执行“隐式”操作。
FilePermission类有助于解决关键的文件访问决策(使用隐含方法),如果手动实施该决策,则可能导致错误或违反其他权限类的安全漏洞。