Java - 如何执行进程

时间:2017-02-20 17:24:22

标签: java execution

我正在寻找JAVA中可用的所有不同函数来执行process / os命令。

例如,我熟悉exec('command')。

在PHP中,我熟悉以下功能:

exec()
shell_exec()
system()
passthru()
escapeshellcmd()
backticks (``)
popen()
automatic()

你能说出其他功能/技巧吗?

1 个答案:

答案 0 :(得分:1)

幸运的是,JDK提供了一种相当直接的方法:ProcessBuilder API。

Here是其实施的一个完整示例。如果你不想阅读,那就是一个简洁的例子:

package com.process;

import java.io.File;
import java.io.IOException;
import java.lang.ProcessBuilder.Redirect;

public class ProcessBuilder {
    public static void main(String... args) throws IOException, InterruptedException {
        ProcessBuilder builder = new ProcessBuilder("D:/test.bat", "firstArg", "secondArg");
        processBuilder.directory(new File("D:/"));
        File log = new File("D:/log.txt");
        builder.redirectErrorStream(true);
        builder.redirectOutput(Redirect.appendTo(log));
        Process p = builder.start();
        p.waitFor();
    }
}