java - 在 Java 中,如何将所有 future 的 System.out.println 输出重定向到我刚刚打开的新终端窗口?

标签 java system.out

在一个小型 Java 应用程序中,我使用 Process p = Runtime.getRuntime().exec("cmd /c start cmd.exe"); 打开一个新的 Windows 命令行提示符。

之后是否可以重定向所有后续的 System.out.println()输出到那里? 我环顾四周,发现System.setOut();但是,我该如何设置它来识别我刚刚打开的新终端窗口?

最佳答案

我确信这不可能这么简单,但是:有Process#getOutputStream ,它为您提供了一个您可以写入的 OutputStream,它会写入进程上的 stdin

因此理论上,System.setOut(new PrintStream(p.getOutputStream()))...(您可能需要其他 PrintStream 构造函数之一。)

关于java - 在 Java 中,如何将所有 future 的 System.out.println 输出重定向到我刚刚打开的新终端窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23311177/

相关文章:

java - 当注册多个 ClientHttpRequestInterceptor 时,RestTemplate 的行为是什么?

java - 如何在 Servlet 代码中发出警报消息并将重定向发送到 JSP 页面?

java - System类和PrintStream类是什么关系

java - Java中System.out的类型是什么?

java - 检查或打印时忽略反斜杠

java - 如何解决Java一次监听多个按键的问题?

java - 如何在junit测试中通过服务方法模拟返回对象的字段?

Visual Studio Code 中的 Java 编译错误 : Could not find or load main class

java - 为什么我们使用 system.out.flush()?

java - 删除添加到 System.out 的最后一个字符