Как я могу направить вывод консоли .jar в другое приложение .jar (GUI)? - PullRequest
0 голосов
/ 19 ноября 2010

В качестве источника у меня есть файл minecraft_server.jar. Я хочу запустить это и перенести вывод в мое приложение .jar. Как?

Ответы [ 2 ]

3 голосов
/ 19 ноября 2010

Используйте Runtime.exec для запуска процесса и используйте Process.getOutputStream в возвращенном объекте процесса для доступа к выводу этого процесса:

Process proc = Runtime.getRuntime().exec("java -jar minecraft_server.jar");
OutputStream out = proc.getOutputStream();
/* read output using out */
1 голос
/ 19 ноября 2010

Простое решение зависит от системы. Например, если вы используете оболочку Linux / Unix:

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

Вы также можете изменить свое приложение так, чтобы оно запускало приложение "minecraft server" в качестве внешней команды и считывало его вывод. Но это, вероятно, не стоит усилий. (Подсказка, ответ @ casablanca не учитывает много утомительных деталей, таких как обработка исключений, обработка стандартного потока ошибок, обработка кодов возврата, пути к команде java и т. Д.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...