Java File isExecutable()方法及示例
java.nio.file .Files 的 isExecutable() 方法帮助我们检查一个文件是否可执行。这个方法检查一个文件是否存在于这个路径上,如果存在,那么Java虚拟机就有适当的权限来执行这个文件。在检查对一个目录的访问时,语义可能有所不同。
例如,在UNIX系统中,检查执行权限是为了检查Java虚拟机是否有权限搜索该目录以访问文件或子目录。所以我们可以说,如果文件存在并且是可执行的,isExecutable()方法就会返回真,如果出现以下情况,它就会返回假。
- 文件不存在
- 由于Java虚拟机的权限不足,执行访问将被拒绝。
无法确定访问权限。
语法
public static boolean isExecutable(Path path)
参数: 该方法接受一个参数 path ,它是要检查的文件的路径。
返回值: 如果文件存在并且是可执行的,该方法返回真,如果出现以下情况,则返回假。
- 文件不存在
- 由于Java虚拟机的权限不足,执行访问将被拒绝。
无法确定访问权限。
异常: 在默认提供者的情况下,该方法将抛出 SecurityException ,并且安装了一个安全管理器,checkExec被调用以检查对文件的执行访问。
walkFileTree。
以下程序说明了isExecutable(Path)方法:
程序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);
}
}
输出:
程序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);
}
}
输出:
参考文献: https://docs.oracle.com/javase/10/docs/api/java/nio/file/Files.html#isExecutable(java.nio.file.Path)