 
 - Java.io - Home
- Java.io - BufferedInputStream
- Java.io - BufferedOutputStream
- Java.io - BufferedReader
- Java.io - BufferedWriter
- Java.io - ByteArrayInputStream
- Java.io - ByteArrayOutputStream
- Java.io - CharArrayReader
- Java.io - CharArrayWriter
- Java.io - Console
- Java.io - DataInputStream
- Java.io - DataOutputStream
- Java.io - File
- Java.io - FileDescriptor
- Java.io - FileInputStream
- Java.io - FileOutputStream
- Java.io - FilePermission
- Java.io - FileReader
- Java.io - FileWriter
- Java.io - FilterInputStream
- Java.io - FilterOutputStream
- Java.io - FilterReader
- Java.io - FilterWriter
- Java.io - InputStream
- Java.io - InputStreamReader
- Java.io - LineNumberInputStream
- Java.io - LineNumberReader
- Java.io - ObjectInputStream
- Java.io - ObjectInputStream.GetField
- Java.io - ObjectOutputStream
- io - ObjectOutputStream.PutField
- Java.io - ObjectStreamClass
- Java.io - ObjectStreamField
- Java.io - OutputStream
- Java.io - OutputStreamWriter
- Java.io - PipedInputStream
- Java.io - PipedOutputStream
- Java.io - PipedReader
- Java.io - PipedWriter
- Java.io - PrintStream
- Java.io - PrintWriter
- Java.io - PushbackInputStream
- Java.io - PushbackReader
- Java.io - RandomAccessFile
- Java.io - Reader
- Java.io - SequenceInputStream
- Java.io - SerializablePermission
- Java.io - StreamTokenizer
- Java.io - StringBufferInputStream
- Java.io - StringReader
- Java.io - StringWriter
- Java.io - Writer
- Java.io package Useful Resources
- Java.io - Discussion
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