在另一个应用程序中读取/捕获标准输出消息

时间:2018-12-14 10:01:47

标签: java stdout stdin system.out system.in

我有一个编写标准输出消息的应用程序A。现在,我将构建第二个应用程序B,该应用程序B从A读取标准输出。

我不想创建文件,该消息将写在控制台中,应该从控制台中读取。

我知道,我可以从控制台读取一些信息(Scanner,System.console(),BufferedInputstream),但是如何从另一个应用程序中捕获标准输出?

2 个答案:

答案 0 :(得分:0)

您可以尝试通过套接字进行通信。本指南似乎很有用http://cs.lmu.edu/~ray/notes/javanetexamples/

答案 1 :(得分:0)

如果您的程序B执行了程序A(通过ProcessBuilder.start()System.exec()),则您有一个Process实例。然后,您可以使用Process.getInputStream()获得输入流,该输入流连接到程序A的标准输出流。

否则,没有独立于平台的方法来获取另一个程序的捕获另一个程序的输出。您将需要使用其他某种形式的交流。