我必须为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上的两个权限,但它仍然不会更改实际文件上的权限。
谢谢你的帮助,并为我的英语道歉。
发布于 2019-04-15 23:38:12
FilePermission的Java文档清楚地指出,这个java类用于表示操作(即读/写/删除/执行/读取链接)。它不会更改现有文件/文件夹的权限。
您可以严格执行在示例中定义的“暗示”操作。
FilePermission类帮助解决关键的文件访问决策(使用隐含方法),如果手动实现,可能会像任何其他权限类一样导致错误或安全漏洞。
https://stackoverflow.com/questions/55691919
复制相似问题