isWritable() method of java.nio.file.Files help us to check whether Java virtual machine has appropriate privileges that would allow it to open this file for writing or not. It means this method test file is writable or not. This method checks that a file exists or not and if file exists then it is writable or not. This method returns true if the file exists and is writable or it would return false if the following cases:
- file does not exist
- execute access would be denied because the Java virtual machine has insufficient privileges,
Access cannot be determined.
Syntax:
public static boolean isWritable(Path path)
Parameters: This method accepts a parameter path which is the path to the file to check.
Return value: This method returns true if the file exists and is writable or it would return false if the following cases:
- file does not exist
- execute access would be denied because the Java virtual machine has insufficient privileges,
Access cannot be determined.
Exception: This method will throw SecurityException in the case of the default provider, and a security manager is installed, the checkWrite is invoked to check write access to the file.
Below programs illustrate isWritable(Path) method:
Program 1:
// Java program to demonstrate // Files.isWritable() method import java.nio.file.*; public class GFG { public static void main(String[] args) { // create an object of Path // This file is available on windows and // It is a Writable file. Path path = Paths.get( "D:\\GIT_EWS_PROJECTS\\logger" + "\\src\\logger" + "\\GFG.java" ); // check whether this file // is Writable or not boolean result; result = Files.isWritable(path); System.out.println( "File " + path + " is Writable = " + result); } } |
Program 2:
// Java program to demonstrate // java.nio.file.Files.isWritable() method import java.nio.file.*; public class GFG { public static void main(String[] args) { // create an object of Path // This file is available on windows and // It is not a Writable file. Path path = Paths.get( "D:\\User Aman\\" + "Documents\\MobaXterm\\" + "\\ArrayList.docx" ); // check whether this file // is Writable or not boolean result; result = Files.isWritable(path); System.out.println( "File " + path + " is Writable = " + result); } } |
References: https://docs.oracle.com/javase/10/docs/api/java/nio/file/Files.html#isWritable(java.nio.file.Path)