java.nio.file.Files的isExecutable()方法可帮助我们检查文件是否可执行。此方法检查该路径上是否存在文件,如果存在,则Java虚拟机具有执行该文件的适当特权。当检查对目录的访问时,语义可能会有所不同。
例如,在UNIX系统上,检查执行访问权限会检查Java虚拟机是否有权搜索目录以访问文件或子目录。因此,可以说isExecutable()方法在文件存在且可执行的情况下返回true,或者在以下情况下返回false:
- 文件不存在
- 由于Java虚拟机的权限不足,执行访问将被拒绝,
无法确定访问权限。
用法:
public static boolean isExecutable(Path path)
参数:此方法接受参数路径,该路径是要检查的文件的路径。
返回值:如果文件存在并且可以执行,则此方法返回true,或者在以下情况下返回false:
- 文件不存在
- 由于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)
相关用法
- Java Files delete()用法及代码示例
- Java Files deleteIfExists()用法及代码示例
- Java Files isWritable()用法及代码示例
- Java Files isReadable()用法及代码示例
- Java Files isHidden()用法及代码示例
- Java Files size()用法及代码示例
- Java Files getFileStore()用法及代码示例
注:本文由纯净天空筛选整理自AmanSingh2210大神的英文原创作品 Files isExecutable() method in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。