
- 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 newPermissionCollection() method
Description
The Java FilePermission newPermissionCollection() method is used to create a PermissionCollection that can store multiple FilePermission objects. PermissionCollection stores multiple FilePermission objects. It supports wildcard paths (*). Grants permissions for entire directories. Allows checking permissions using implies().Helps verify if specific permissions exist.
Declaration
Following is the declaration for java.io.FilePermission.newPermissionCollection() method −
public PermissionCollection newPermissionCollection()
Parameters
NA
Return Value
This method returns a new PermissionCollection object.
Exception
NA
Key Points
Creates a collection to store and manage multiple file permissions.
Allows checking whether a specific permission is implied by the collection.
Used in security policies for managing multiple permissions.
Example - Adding Multiple File Permissions to a Collection
The following example shows the usage of Java FilePermission newPermissionCollection() method.
FilePermissionDemo.java
package com.tutorialspoint; import java.io.FilePermission; import java.security.PermissionCollection; public class FilePermissionDemo { public static void main(String[] args) { // Create a FilePermission object FilePermission readPermission = new FilePermission("file.txt", "read"); FilePermission writePermission = new FilePermission("file.txt", "write"); // Create a new PermissionCollection PermissionCollection permissionCollection = readPermission.newPermissionCollection(); // Add permissions to the collection permissionCollection.add(readPermission); permissionCollection.add(writePermission); // Check if a specific permission is granted System.out.println("Has read permission? " + permissionCollection.implies(new FilePermission("file.txt", "read"))); System.out.println("Has write permission? " + permissionCollection.implies(new FilePermission("file.txt", "write"))); } }
Output
Let us compile and run the above program, this will produce the following result−
Has read permission? true Has write permission? true
Explanation
Creates FilePermission objects for read and write permissions.
Calls newPermissionCollection() to create a PermissionCollection.
Adds the permissions to the collection.
Uses implies() to check if permissions exist.
Example - Checking Wildcard Permissions
The following example shows the usage of Java FilePermission newPermissionCollection() method.
FilePermissionDemo.java
package com.tutorialspoint; import java.io.FilePermission; import java.security.PermissionCollection; public class FilePermissionDemo { public static void main(String[] args) { // Grant read permission for all files in the directory FilePermission directoryPermission = new FilePermission("C:\\Users\\Documents\\*", "read"); // Create a PermissionCollection and add the wildcard permission PermissionCollection permissionCollection = directoryPermission.newPermissionCollection(); permissionCollection.add(directoryPermission); // Check if a specific file within the directory has read permission System.out.println("Has read permission for file1.txt? " + permissionCollection.implies(new FilePermission("C:\\Users\\Documents\\file1.txt", "read"))); System.out.println("Has read permission for file2.txt? " + permissionCollection.implies(new FilePermission("C:\\Users\\Documents\\file2.txt", "read"))); } }
Output
Let us compile and run the above program, this will produce the following result−
Has read permission for file1.txt? true Has read permission for file2.txt? true
Explanation
Grants read access to all files in C:\Users\Documents\*.
Uses newPermissionCollection() to create a collection.
Checks if specific files within the directory have read access using implies().
Example - Checking Permissions on a Different Actions
The following example shows the usage of Java FilePermission newPermissionCollection() method.
FilePermissionDemo.java
package com.tutorialspoint; import java.io.FilePermission; import java.security.PermissionCollection; public class FilePermissionDemo { public static void main(String[] args) { // Create multiple file permissions with different actions FilePermission readPermission = new FilePermission("data.txt", "read"); FilePermission executePermission = new FilePermission("data.txt", "execute"); // Create a PermissionCollection PermissionCollection permissionCollection = readPermission.newPermissionCollection(); permissionCollection.add(readPermission); permissionCollection.add(executePermission); // Check permissions System.out.println("Has read permission? " + permissionCollection.implies(new FilePermission("data.txt", "read"))); System.out.println("Has execute permission? " + permissionCollection.implies(new FilePermission("data.txt", "execute"))); System.out.println("Has write permission? " + permissionCollection.implies(new FilePermission("data.txt", "write"))); // Expected false } }
Output
Let us compile and run the above program, this will produce the following result−
Has read permission? true Has execute permission? true Has write permission? false
(Write permission was not added, so it returns false.)
Explanation
Creates FilePermission objects for read and execute actions.
Adds them to a PermissionCollection.
Checks if read, execute, and write permissions exist using implies().