dialoguer avec un processus
Bonjour à tous :)
j'essaye d'exécuter une commande DOS depuis un composant JTextArea et récupérer le résultat dans le même composant.
voici le code de la classe <Interpreteur>, classe possédant une méthode statique <compile> qui exécute la commande tapée et retourne le résultat dans une String :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| import java.io.*;
class Interpreteur {
/* exécute une commande passée en paramètre et retourne le résultat dans une String */
public static String compile(String chaine) {
String str = "";
try {
Process process = Runtime.getRuntime().exec("cmd /c " + chaine);
BufferedInputStream br = new BufferedInputStream(process.getInputStream());
int car_lu;
while((car_lu = br.read()) != -1) {
str += (char)car_lu;
}
br.close();
}
catch(IOException e) {
e.printStackTrace();
}
return str;
}
/* main pour le test */
public static void main(String[] args) {
System.out.println(Interpreteur.compile("dir"));
}
} |
jusqu'à ici, ça marche nickel : le problème c'est que je ne peux pas "dialoguer" avec la commande exécutée, en d'autre termes je ne peux pas utiliser des commandes comme time, date, label... qui t'invitent à taper une chose par la suite. Que faire ?
Merci d'avance..