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 : Sélectionner tout - Visualiser dans une fenêtre à part
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..
Partager