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