захватить вывод Perl с Java - PullRequest
0 голосов
/ 23 июня 2011

Хорошо, я сразу разбираюсь с вещами:

Я хочу запустить Perl-скрипт из Java-приложения (через ProcessBuilder), который затем проанализирует HTML-страницу и выяснит некоторыеНеобходимая информация.Затем я хочу передать эту информацию обратно моему java-приложению и отобразить эту информацию в JTextArea.

Мои знания Perl ОЧЕНЬ ограничены.Моя первоначальная мысль заключалась в том, чтобы записать эти данные в текстовый файл, а затем прочитать этот файл с помощью моей Java-программы, которая затем могла бы довольно легко отобразить ее в JTextArea.Однако это выглядит уродливым решением по сравнению с простым возвратом строки.

Пожалуйста, дайте мне знать, если есть лучший способ сделать это.возможно, совершенно другой метод, чем то, о чем я думаю.Спасибо,

Aelfhere

Ответы [ 3 ]

1 голос
/ 23 июня 2011

Я думаю, вы хотите что-то вроде это

0 голосов
/ 23 июня 2011

когда вы используете ProcessBuilder, вы создаете экземпляр Process Object - это Java-представление пакетного выполнения

Как правило, вы можете подключить потоковую передачу процесса через Java API.

Извлечено из Process JAVA API:

  • аннотация InputStream getErrorStream () Получает поток ошибок подпроцесса
  • аннотация InputStream getInputStream () Получает входной поток подпроцесса
  • аннотация OutputStream getOutputStream () Получает выходной поток подпроцесса

Если сценарий perl записывается в стандартный поток вывода, вы можете прочитать этот вывод.

Обычно, если процесс не записывает в стандартный поток вывода, вы не можете его прочитать.

0 голосов
/ 23 июня 2011

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

Почему вы не можете делать в Java то, что хотите делать в Perl?

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