Читать / ловить стандартное сообщение в другом приложении - PullRequest
0 голосов
/ 14 декабря 2018

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

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

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

Ответы [ 2 ]

0 голосов
/ 14 декабря 2018

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

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

0 голосов
/ 14 декабря 2018

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

...