使用 Runtime 的 exec() 方法排查重定向输出失败
使用 Java 的 Runtime.exec() 方法执行命令时,重定向输出文件可能会遇到问题。具体来说,可能无法创建生成的文件,并且可能无法正确定向流。
为了解决这个问题,可以利用 ProcessBuilder 来有效地执行重定向。以下代码片段演示了如何将 stdout 和 stderr 重定向到文件:
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
通过使用 ProcessBuilder,您可以将命令的输出重定向到指定文件,确保捕获输出以供进一步使用正在处理。
以上是如何使用运行时的 exec() 方法解决重定向输出失败?的详细内容。更多信息请关注PHP中文网其他相关文章!