Java FilePermission
精华
小牛编辑
101浏览
2023-03-14
1 什么是Java FilePermission
Java FilePermission类包含与目录或文件相关的权限。所有权限都与路径相关。路径可以有两种类型:
- D:\\IO\\-:表示该权限与所有子目录和文件都递归关联。
- D:\\IO\\*:表示该权限与该目录中的所有目录和文件(子目录除外)相关联。
2 Java FilePermission的语法
public final class FilePermission extends Permission implements Serializable
3 Java FilePermission的方法
方法 | 描述 |
---|---|
int hashCode() | 用于返回对象的哈希码值。 |
String getActions() | 用于返回动作的“规范字符串表示形式”。 |
boolean equals(Object obj) | 用于检查两个FilePermission对象是否相等。 |
boolean implies(Permission p) | 用于检查FilePermission对象是否具有指定的权限。 |
PermissionCollection newPermissionCollection() | 用于返回新的PermissonCollection对象以存储FilePermission对象。 |
4 Java FilePermission的例子
让我们看一个简单的示例,其中授予目录路径权限和读取权限,并授予该目录文件的写入权限。
package cn.xnip;
/**
* 小牛知识库网: https://www.xnip.cn
*/
/**
* Java FilePermission的例子
*/
import java.io.*;
import java.security.PermissionCollection;
public class Demo{
public static void main(String[] args) throws IOException {
String srg = "D:\\xnip\\test.txt";
FilePermission file1 = new FilePermission("D:\\xnip\\-", "read");
PermissionCollection permission = file1.newPermissionCollection();
permission.add(file1);
FilePermission file2 = new FilePermission(srg, "write");
permission.add(file2);
if(permission.implies(new FilePermission(srg, "read,write"))) {
System.out.println("Read, Write permission is granted for the path "+srg );
}else {
System.out.println("No Read, Write permission is granted for the path "+srg); }
}
}
输出结果为:
Read, Write permission is granted for the path D:\xnip\test.txt