当前位置: 首页 > 教程 > Java IO流 >

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