Читать / ловить стандартное сообщение в другом приложении

У меня есть приложение A, которое пишет сообщение stdout. Теперь я создам второе приложение B, которое читает стандартный вывод из A.

Я не хочу создавать файл, сообщение будет записано в консоли и должно быть прочитано из консоли.

Я знаю, что у меня есть некоторые возможности для чтения из консоли (Scanner, System.console(), BufferedInputstream), но как я могу поймать стандартный вывод из другого приложения?

2 ответа

Вы можете попробовать общение через сокеты. Это руководство кажется полезным http://cs.lmu.edu/~ray/notes/javanetexamples/

Если ваша программа B выполнила программу A (либо через ProcessBuilder.start() или же System.exec()) у тебя есть Process пример. Тогда вы можете использовать Process.getInputStream() получить входной поток, который подключен к стандартному выходному потоку программы А.

В противном случае, не существует независимого от платформы способа получить выходные данные другой программы. Вам нужно будет использовать какую-то другую форму общения.

Другие вопросы по тегам