isExecutable() method of java.nio.file.Files help us to check whether a file is executable. This method checks that a file exists on this path or not and if it exists then Java virtual machine has appropriate privileges to execute the file or not. The semantics may differ when checking access to a directory.
For example, on UNIX systems, checking for execute access checks that the Java virtual machine has permission to search the directory in order to access file or subdirectories. So we can say that isExecutable() method returns true if the file exists and is executable, 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 isExecutable(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 executable, 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 checkExec is invoked to check execute access to the file.
walkFileTree.
Below programs illustrate isExecutable(Path) method:
Program 1:
// Java program to demonstrate // Files.isExecutable() method import java.io.IOException; import java.nio.file.*; public class GFG { public static void main(String[] args) { // create an object of Path Path path = Paths.get( "D:\\GIT_EWS_PROJECTS\\logger" + "\\src\\logger" + "\\GFG.java" ); // check whether this file // is executable or not boolean result = Files.isExecutable(path); System.out.println( "File " + path + " is Executable = " + result); } } |
Program 2:
// Java program to demonstrate // Files.isExecutable() method import java.io.IOException; import java.nio.file.*; public class GFG { public static void main(String[] args) { // create object of Path for a file // which did not exists. Path path = Paths.get( "D:\\User Aman\\Documents" + "\\MobaXterm\\home" + "\\.ssh\\hostkeys\\file1.txt" ); // check whether this file // is executable or not boolean result = Files.isExecutable(path); // as the file does not exist // then answer should be false System.out.println( "File " + path + " is Executable = " + result); } } |
References: https://docs.oracle.com/javase/10/docs/api/java/nio/file/Files.html#isExecutable(java.nio.file.Path)