我想将 java 进程输出重定向到父 java 进程的标准输出。
使用 ProcessBuilder 类如下:
public static void main(String[] args) {
ProcessBuilder processBuilder = new ProcessBuilder("cmd");
processBuilder.directory(new File("C:"));
processBuilder.redirectErrorStream(true); // redirect error stream to output stream
processBuilder.redirectOutput(ProcessBuilder.Redirect.INHERIT);
}
我本来希望“cmd”的输出类似于:
Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation。Tous droits réservés。
显示在用于运行 java 程序的 DOS 控制台中。但是在 DOS 控制台中什么也没有显示。
在讨论的其他线程中,我看到了使用 BufferedReader 类的解决方案:但在这里我希望进程的输出直接显示在标准输出中,而不使用任何 BufferedReader 或“读取时循环”。可能吗?
谢谢。