Java - FilePermission Class



Introduction

The Java FilePermission class represents access to a file or directory.It consists of a pathname and a set of actions valid for that pathname. Following are the important points about FilePermission −

  • The actions to be granted are passed to the constructor in a string containing a list of one or more comma-separated keywords. The possible keywords are "read", "write", "execute", and "delete".

  • Code can always read a file from the same directory it's in (or a subdirectory of that directory); it does not need explicit permission to do so.

Class declaration

Following is the declaration for Java.io.FilePermission class −

public final class FilePermission
   extends Permission
      implements Serializable

Class constructors

Sr.No. Constructor & Description
1

FilePermission(String path, String actions)

This creates a new FilePermission object with the specified actions.

Class methods

Sr.No. Method & Description
1 boolean equals(Object obj)

This method checks two FilePermission objects for equality.

2 String getActions()

This method returns the "canonical string representation" of the actions.

3 int hashCode()

This method returns the hash code value for this object.

4 boolean implies(Permission p)

This method checks if this FilePermission object "implies" the specified permission.

5 PermissionCollection newPermissionCollection()

This method returns a new PermissionCollection object for storing FilePermission objects.

Methods inherited

This class inherits methods from the following classes −

  • Java.io.Permission
  • Java.io.Object

Example - Comparing Two Identical FilePermission Objects

The following example shows the usage of Java FilePermission equals(Object obj) method.

FilePermissionDemo.java

package com.tutorialspoint;

import java.io.FilePermission;

public class FilePermissionDemo {
    public static void main(String[] args) {
       // Creating two identical FilePermission objects
      FilePermission fp1 = new FilePermission("C:\\Users\\Documents\\file.txt", "read,write");
      FilePermission fp2 = new FilePermission("C:\\Users\\Documents\\file.txt", "read,write");

      // Checking equality
      if (fp1.equals(fp2)) {
         System.out.println("Both FilePermission objects are equal.");
      } else {
         System.out.println("FilePermission objects are not equal.");
      }
   }
}

Output

Let us compile and run the above program, this will produce the following result−

Both FilePermission objects are equal.

Explanation

  • Two FilePermission objects (fp1 and fp2) are created with the same file path and same actions (read,write).

  • The equals() method is used to compare them.

  • Since both objects are identical, it prints: Both FilePermission objects are equal.

Example - Retrieving Read and Write Permissions

The following example shows the usage of Java FilePermission getActions() method.

FilePermissionDemo.java

package com.tutorialspoint;

import java.io.FilePermission;

public class FilePermissionDemo {
   public static void main(String[] args) {
      // Creating a FilePermission object with "read" and "write" actions
      FilePermission filePermission = new FilePermission("example.txt", "read,write");

      // Getting and displaying the actions associated with this permission
      String actions = filePermission.getActions();
      System.out.println("Allowed Actions: " + actions);
   }
}

Output

Let us compile and run the above program, this will produce the following result−

Allowed Actions: read,write

Explanation

  • Creates a FilePermission object for "example.txt" with "read" and "write" permissions.

  • Calls getActions() to retrieve the assigned actions.

Example - Usage of FilePermission implies(Permission p) method

The following example shows the usage of Java FilePermission implies(Permission p) method.

FilePermissionDemo.java

package com.tutorialspoint;

import java.io.FilePermission;
import java.io.IOException;

public class FilePermissionDemo {
   public static void main(String[] args) throws IOException {
      FilePermission fp = null;
      FilePermission fp1 = null;
      FilePermission fp2 = null;
      FilePermission fp3 = null;
      boolean bool = false;
      
      try {
         // create new file permissions
         fp = new FilePermission("test.txt", "read");
         fp1 = new FilePermission("test.txt", "write");
         fp2 = new FilePermission("test1.txt", "read");
         fp3 = new FilePermission("test.txt", "read");
         
         // tests if implied by this object
         bool = fp.implies(fp1);
         
         // print
         System.out.println(bool);
         
         bool = fp.implies(fp2);
         System.out.println(bool);
         
         bool = fp.implies(fp3);
         System.out.print(bool);
         
      } catch(Exception ex) {
         // if an error occurs
         ex.printStackTrace();
      }
   }
}

Output

Let us compile and run the above program, this will produce the following result−

false
false
true
Advertisements
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy