如何将consol .jar的输出路由到另一个.jar应用程序(GUI)?

时间:2010-11-19 00:18:38

标签: java user-interface netbeans

我的minecraft_server.jar文件是我的来源。我想运行它并将它的输出带到我的.jar应用程序。怎么样?

2 个答案:

答案 0 :(得分:3)

使用Runtime.exec启动流程并在返回的流程对象上使用Process.getOutputStream来访问该流程的输出:

Process proc = Runtime.getRuntime().exec("java -jar minecraft_server.jar");
OutputStream out = proc.getOutputStream();
/* read output using out */

答案 1 :(得分:1)

简单的解决方案取决于系统。例如,如果您使用的是Linux / Unix shell:

java -jar minecraft_server.jar | java -jar my_app.jar

您还可以修改您的应用程序,以便它将“minecraft服务器”应用程序作为外部命令启动并读取其输出。但它可能不值得努力。 (提示,@ casablanca的答案留下了许多繁琐的细节,例如处理异常,处理标准错误流,处理返回代码,java命令的路径名等)