Java 运行时的exec()方法没有重定向输出

Process p = Runtime.getRuntime().exec("sh somescript.sh &> out.txt");

我正在使用Java运行这个命令。脚本正在运行,但它没有将流重定向到文件。此外,文件out.txt没有被创建。

如果我在shell上运行这个脚本,它运行得很好。

有什么想法吗?

回答:

你需要使用ProcessBuilder重定向。

ProcessBuilder builder = new ProcessBuilder("sh", "somescript.sh");

builder.redirectOutput(new File("out.txt"));

builder.redirectError(new File("out.txt"));

Process p = builder.start(); // may throw IOException

以上是 Java 运行时的exec()方法没有重定向输出 的全部内容, 来源链接: utcz.com/qa/423697.html

回到顶部