Перенаправление ввода / вывода в Eclipse? - PullRequest
8 голосов
/ 28 апреля 2009

Можно ли использовать перенаправление ввода / вывода в Eclipse?

Я хочу перенаправить стандартный ввод / вывод в командной строке, как java MyProgram <input.txt >output.txt, но я не могу заставить его работать в Eclipse. Я попытался включить <как часть аргументов программы, которая была проигнорирована, а также в аргументы виртуальной машины, которая просто вызвала ошибку класса not found. Как я могу это сделать? </p>

Ответы [ 2 ]

12 голосов
/ 28 апреля 2009

Вы можете перенаправить вывод , используя диалоговое окно «Выполнить», вкладку «Общие», раздел «Стандартный ввод и вывод».

Однако, не похоже, что вы можете перенаправить ввод , насколько я могу судить (и насколько этот вопрос переполнения стека также может сказать).

Насколько вы контролируете свое приложение? Если вы не возражаете против взлома, у вас может быть пара свойств или аргументов командной строки, чтобы определить соответствующие файлы, и использовать System.setOut и System.setIn соответственно. Это это что-то вроде хака ...

4 голосов
/ 28 апреля 2009

Чтобы по-настоящему перенаправить оба, самый простой способ по-прежнему определить вашу программу как внешний скрипт

 "java %1 %2 %3 %4 < %5 > %6"

(адаптировать количество параметров к вашей конкретной программе)

В меню «Выполнить» выберите «Внешние инструменты ... / Открыть диалог внешних инструментов» и определите конфигурацию внешнего запуска, в которой вы будете указывать как аргументы, так и файл ввода и вывода.


Это не идеальное решение, так как вы не можете напрямую отладить ваш код (с конфигурацией запуска "debug").
Вместо этого вам необходимо выполнить удаленную отладку (добавьте '-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000' в ваш общий скрипт запуска Java)

После того, как вы запустили свой внешний инструмент, запустите сеанс удаленной отладки через раздел «Средство отладки« Удаленное приложение Java »»:

Remote Debug, after blog.jmwyttenbach.net/wp-content/uploads/2007/10/eclipseremotedebug.jpg

...