Plusieurs conseils :
1) Il se trouve que pour une raison que j'ignore, les processus sont lancés soit depuis une console, soit depuis <pas une console>... or les processus en général ne flushent pas bien leur sortie qd ils ne sont pas lancés depuis une console.
Conséquence : tu peux parfois bloquer sur une attente de sortie d'un processus alors que ce dernier a bien écrit sur la sortie... C'est difficile, car il faut lancer le processus fils avec les options ad-hoc, qui dépendent de ce dernier, pour qu'il flush bien. Exemple : j'arrive à bien récupérer la sortie d'un processus python si je le lance avec les options -i -u. Sinon, nada.
2) Je te conseille vivement l'utilisation des classes Telnet de Apache http://jakarta.apache.org/commons/net/
3) ...et aussi (pub perso) le projet yactu qui permet de lire facilement un flux de sortie de processus (donc un flux d'entrée pour java) avec des timeout, par exemple, pour éviter d'attendre un temps infini, mais aussi des regexps etc.
Laurent Ploix