Запуск внешней программы с перенаправленным stdin и stdout из Java

Я пытаюсь запустить внешнюю программу из Java-программы, и у меня возникли проблемы. По сути, я хотел бы сделать следующее:

 Runtime.getRuntime().exec("./extprogram <fileIn >fileOut");

Однако я обнаружил, что это не работает - очевидно, Java должен использоватьProcess с входными и выходными потоками и другими вещами, с которыми я не сталкивался.

Я рассмотрел несколько примеров в Интернете (многие из которых получены от SO), и, похоже, не существует простого стандартного способа сделать это, что для человека, который не полностью понимает, что происходит. на, может быть довольно сложно.

У меня также возникают проблемы при попытке создать собственный код из примеров кода других людей, потому что, как правило, большинство других людей 1. не заинтересованы в перенаправленииstdinи 2. не обязательно перенаправляютstdout в файл, но вместоSystem.out.

Итак, кто-нибудь сможет указать мне в направлении каких-либо хороших простых шаблонов кода для вызова внешних программ и перенаправленияstdin а такжеstdout? Благодарю.

Ответы на вопрос(3)

Ваш ответ на вопрос