Java FilePermission
Java FilePermission类包含与目录或文件相关的权限。所有权限都与路径相关。路径可以有两种类型:
1)
D: \\ IO \\ -: 表示该权限与所有子目录和文件都递归关联。
2)
D: \\ IO \\ * : 表明该权限与该目录中的所有目录和文件(子目录除外)相关联。
Java FilePermission类声明
让我们看看Java.io.FilePermission类的声明:
public final class FilePermission extends Permission implements Serializable
FilePermission类的方法
方法 |
说明 |
ByteArrayOutputStream() |
创建一个新的array字节的输出流,其初始容量为32字节,不过必要时其大小也会增加。 |
ByteArrayOutputStream(int size) |
创建一个新的字节数组输出流,具有指定大小的缓冲区容量(以字节为单位)。 |
Java FilePermission类方法
方法 |
说明 |
int hashCode() |
它用于返回对象的哈希码值。 |
String getActions() |
它用于返回动作的"规范字符串表示形式"。 |
boolean equals(Object obj) |
它用于检查两个FilePermission对象是否相等。 |
boolean implies(Permission p) |
它用于检查FilePermission对象是否具有指定的权限。 |
PermissionCollection newPermissionCollection() |
用于返回新的PermissonCollection对象以存储FilePermission对象。 |
Java FilePermission示例
让我们看一个简单的示例,在该示例中,将目录路径的权限授予读取权限,并且将该目录的文件授予授予写权限。
package com.lidihuo;
import java.io.*;
import java.security.PermissionCollection;
public class FilePermissionExample{
public static void main(String[] args) throws IOException {
String srg = "D:\\IO Package\\java.txt";
FilePermission file1 = new FilePermission("D:\\IO Package\\-", "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:\IO Package\java.txt