L'exécution de programme externe avec redirigé stdin et stdout de Java

Je suis en train de l'exécution d'un programme externe à partir d'un programme Java et je vais avoir des ennuis. Fondamentalement, ce que je voudrais faire est celle-ci:

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

Cependant, j'ai trouvé que cela ne fonctionne pas - Java apparentls besoin d'utiliser un Process avec l'entrée et les flux de sortie et d'autres choses dont je ne suis pas expérimenté avec.

J'ai regardé un certain nombre d'exemples dans l'internet (dont beaucoup sont de SI), et il ne semble pas être une norme simple façon de le faire, ce qui, pour quelqu'un qui n'est pas bien comprendre ce qu'il se passe, peut être très frustrant.

Je suis aussi de la difficulté à essayer de construire mon propre code de fermer les exemples d'autres personnes de code parce que généralement, il semble que la plupart des autres personnes 1. ne sont pas intéressés dans la réorientation stdin, et 2. ne sont pas nécessairement rediriger stdout à un fichier, mais au lieu de System.out.

Donc, quelqu'un serait-il en mesure de me pointer dans la direction d'un bon de simples modèles de code pour l'appel externe des programmes et de rediriger les stdin et stdout? Merci.

OriginalL'auteur MattS | 2012-07-04