在 Java 中,利用 Runtime.getRuntime().exec() 运行命令可以捕获进程的输出和错误流。但是,在需要输出重定向的情况下,单独使用此方法可能无效。
当使用 Runtime.getRuntime().exec() 和命令时,功能输出重定向,例如
要成功重定向输出,请考虑使用 ProcessBuilder。此类提供了更精细的流程创建方法,支持输出和错误流重定向的规范。
以下是如何使用 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
通过使用 ProcessBuilder,您可以将标准输出和标准错误流重定向到所需的文件,确保捕获命令的输出。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3