我有一个java应用程序,它生成信息并在屏幕上打印出这些信息。我的问题是获取这些信息并将它们传输到另一个java应用程序。这个应用程序有一个自己的main.I知道它似乎也是一般但我不知道如何更好地解释这个案例研究
答案 0 :(得分:5)
您的问题 一般,但这里有一些指针(从大多数低级到最全面):
pipe:
$ java -jar first-app.jar | java -jar second-app.jar
在这种情况下,first-app
的所有控制台输出都将重定向到second-app
的标准输入。这需要两个应用程序在同一台机器上工作。以下所有解决方案都允许通过网络分配生产者和消费者。
socket - Java原生而且很好地支持它们
答案 1 :(得分:1)
答案 2 :(得分:0)
你可以使用套接字(这是两个进程可以相互通信的方式之一),你可以在这里找到一个示例: http://docs.oracle.com/javase/tutorial/networking/sockets/clientServer.html
答案 3 :(得分:0)
听起来像你正在寻找IPC;进程间沟通。
还有更多选项,但Java RMI(远程方法调用)可以做到这一点,它隐藏了低级套接字实现:http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136424.html
答案 4 :(得分:0)
如果您拥有第二个程序的源代码,您可能只需将第一个程序的输出重定向到第二个程序:http://en.wikipedia.org/wiki/Redirection_(computing)