我有一个编写标准输出消息的应用程序A。现在,我将构建第二个应用程序B,该应用程序B从A读取标准输出。
我不想创建文件,该消息将写在控制台中,应该从控制台中读取。
我知道,我可以从控制台读取一些信息(Scanner,System.console(),BufferedInputstream),但是如何从另一个应用程序中捕获标准输出?
答案 0 :(得分:0)
您可以尝试通过套接字进行通信。本指南似乎很有用http://cs.lmu.edu/~ray/notes/javanetexamples/
答案 1 :(得分:0)
如果您的程序B执行了程序A(通过ProcessBuilder.start()
或System.exec()
),则您有一个Process
实例。然后,您可以使用Process.getInputStream()
获得输入流,该输入流连接到程序A的标准输出流。
否则,没有独立于平台的方法来获取另一个程序的捕获另一个程序的输出。您将需要使用其他某种形式的交流。