如何在Unix上检查文件是否存在以及Java中的可执行文件?

时间:2015-06-02 14:03:08

标签: java unix

我正在尝试从Java进程中检查Unix中是否存在文件。

我在与Runtime.getRuntime().exec()挣扎 我正在尝试运行的命令是test -x $VAR/path/to/file,注意路径中的Unix变量。

该命令返回0或1,但我不知道如何从Java中获取指示。

我目前正在做的是:

String cmd = "test -x $VAR/filename";
Process proc = Runtime.getRuntime().exec(cmd);
int exitCode = proc.waitFor();

我还可以在命令中添加;echo $?,这将打印0/1值,但我不知道如何获取命令的输出。

2 个答案:

答案 0 :(得分:3)

我认为您正在寻找File#exists()File#canExecute()来检查其存在并检查它是否可执行

答案 1 :(得分:2)

您可以使用Java.io.File类 它有方法canExecute()exists()

示例:

//Create new File
File file = new File("C:/test/testFile.exe");

//Check if file exists
if (file.exists()) {
    System.out.println("The File Exists");

    //Check if file is executable
    if (file.canExecute()) {
        System.out.println("The File is executable");
    }
}