Execução de programa externo com stdin redirecionado e stdout de Java
Eu estou tentando executar um programa externo de um programa em Java e estou tendo problemas. Basicamente, o que eu gostaria de fazer seria isto:
Runtime.getRuntime().exec("./extprogram <fileIn >fileOut");
No entanto, descobri que isso não funciona - o aparente Java precisa usar umProcess
com fluxos de entrada e saída e outras coisas com as quais não tenho experiência.
Eu observei vários exemplos em toda a Internet (muitos dos quais são do SO), e não parece haver uma maneira padrão simples de fazer isso, que para alguém que não entende totalmente o que está acontecendo, pode ser bastante frustrante.
Eu também estou tendo problemas para criar meu próprio código com os exemplos do código de outras pessoas, porque geralmente parece que a maioria das pessoas não está interessada em redirecionar.stdin
e 2. não estão necessariamente redirecionandostdout
para um arquivo, mas em vezSystem.out
.
Então, alguém seria capaz de me apontar na direção de qualquer bom modelo de código simples para chamar programas externos e redirecionarstdin
estdout
? Obrigado.