У меня есть файл exe, скажем Factorial.exe
.Запуск exe-файла с использованием java и ввода ввода
Когда я запускаю его, он принимает n
и вычисляет n!
. Невозможно изменить программу для передачи n
в качестве аргумента командной строки.
Я знаю, как запустить это с помощью ProcessBuilder, но я не знаю, как внести в него ввод. Я думаю, что один из вариантов будет использовать перенаправление, так что мы имеем:
Factorial.exe < input.txt
который существует единственное число в input.txt.
Но я не могу просто позвонить
ProcessBuilder builder = new ProcessBuilder("Factorial.exe < input.txt");
или
ProcessBuilder builder = new ProcessBuilder("Factorial.exe"," < input.txt");
как вход ProcessBuilder.
Я нашел способ сделать это, Но я не могу назвать это ответ его просто способ сделать это. Я создаю файл input.txt с соответствующим вводом. я называю пакетный файл, используя ProcessBuilder с этой командой: Factorial.exe < input.txt
это делает его работу, и я собираюсь использовать его, но я все еще интересно знать, есть ли лучший способ.
Что-то вроде этого? http://stackoverflow.com/questions/1431551/command-line-pipe-input-in-java – ehoberg
Нет, в этом вопросе пользователь вводит входной файл в программу java. Я хочу предоставить входной файл в exe-файл, используя java – sergio4