Lớp FilePermission trong java được sử đụng để cài đặt quyền (permission) cho một thư mục hoặc tập tin. Tất cả các quyền có liên quan với đường dẫn (path). Có hai loại đường dẫn:
1) D:\\IO\\-: Nó chỉ ra rằng cấp quyền có tác dụng với với tất cả các thư mục con và các tập tin.
2) D:\\IO\\*: Nó chỉ ra rằng cấp quyền có tác dụng với tất cả các thư mục và các tập tin trong thư mục này trừ các thư mục con.
Khai báo của lớp FilePermission
Dưới đây là khi báo của lớp Java.io.FilePermission:
public final class FilePermission extends Permission implements Serializable
Các phương thức của lớp FilePermission
Method | Description |
---|---|
int hashCode() | Nó được sử dụng để trả về giá trị hash code của một đối tượng. |
String getActions() | Nó được sử dụng để trả lại "biểu diễn chuỗi" của một action. |
boolean equals(Object obj) | Nó được sử dụng để kiểm tra hai đối tượng FilePermission có bằng nhau không. |
boolean implies(Permission p) | Nó được dùng để kiểm tra đối tượng FilePermission cho quyền được chỉ định. |
PermissionCollection newPermissionCollection() | Nó được sử dụng để trả về đối tượng PermissonCollection mới để lưu trữ đối tượng FilePermission. |
Ví dụ về lớp FilePermission trong java
Bạn hãy xem ví dụ đơn giản sau, trong đó quyền của một đường dẫn thư mục được cấp với quyền đọc (read) và một tập tin của thư mục này được cấp quyền ghi (write).
import java.io.FilePermission; import java.io.IOException; import java.security.PermissionCollection; public class FilePermissionExample { public static void main(String[] args) throws IOException { // khai báo path1 là một file String path1 = "D:\\IO-Package\\java.txt"; // khai báo path2 là thư mục cha của path1 String path2 = "D:\\IO-Package\\-"; // cấp quyền cho path1 FilePermission file1 = new FilePermission(path2, "read"); PermissionCollection permission = file1.newPermissionCollection(); permission.add(file1); // cấp quyền cho path2 FilePermission file2 = new FilePermission(path1, "write"); permission.add(file2); // kiểm tra và in ra quyền của path1 if (permission.implies(new FilePermission(path1, "read,write"))) { System.out.println("Quyền Read, Write được cấp cho path " + path1); } else { System.out.println("Chỉ quyền Write được cấp cho path " + path1); } } }
Output:
Quyền Read, Write được cấp cho path D:\IO-Package\java.txt