1

我有一个 java 应用程序,它生成信息并在屏幕上打印出这些信息。我的问题是获取这些信息并将它们传输到另一个 java 应用程序。这个应用程序有一个自己的 main。我知道它看起来太笼统但我不知道如何更好地解释这个案例研究

4

5 回答 5

5

您的问题笼统的,但这里有几个指针(从最底层到最全面):

  • 控制台中的

    $ java -jar first-app.jar | java -jar second-app.jar
    

    在这种情况下,所有控制台输出first-app都将被重定向到second-app. 这需要两个应用程序在同一台机器上工作。以下所有解决方案都允许跨网络分发生产者和消费者。

  • - Java 原生且很好地支持它们

  • - 通过二进制协议进行 Java 到 Java 通信的事实标准,类似
  • -基于的基于
  • 所谓的消息代理异步发送消息
  • 共享数据库/文件/内存,例如使用
于 2012-07-07T11:06:17.740 回答
1

您可以使用files,以便将您需要的数据保存在文件中,然后其他应用程序从文件中读取该数据。这是最简单的解决方案,在更复杂的场景中您可以使用Socket

于 2012-07-07T11:07:25.173 回答
0

您可以使用套接字(这是两个进程可以相互通信的方式之一),您可以在此处找到示例:http: //docs.oracle.com/javase/tutorial/networking/sockets/clientServer.html

于 2012-07-07T11:06:39.843 回答
0

在我看来,您正在寻找 IPC;进程间通信。

还有更多选项,但 Java RMI(远程方法调用)可以做到,它隐藏了低级套接字实现:http ://www.oracle.com/technetwork/java/javase/tech/index-jsp-136424.html

于 2012-07-07T11:06:49.420 回答
0

如果您有第二个程序的源代码,您可能只需将第一个程序的输出重定向到您的第二个程序:http://en.wikipedia.org/wiki/Redirection_(computing)

于 2012-07-07T11:08:24.827 回答