Bonjour a vous desolé pour cette question je sais qu'elle revient souvent.
J'ai une application Java qui doit executer un fichier bat.
Je me suis servi du tutoriel , le probleme qui se pose est que lors de l'execution je ne vois pas ma fenetre dos qui s'affiche.
j'ai besoin de cette fenetre pour suivre l'evolution de l'execution et d'autre choses.
voici mon code pour le moment :
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57 Runtime runtime = Runtime.getRuntime(); try { System.out.println("kikoo"); final Process process = runtime.exec(new String[]{"cmd.exe", "/C", "C:\\IRIModif\\LanceurIRI\\run.bat"}); // process.waitFor(); new Thread() { public void run() { try { BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line = ""; try { while ((line = reader.readLine()) != null) { System.out.println(line); } } finally { reader.close(); } } catch (IOException ioe) { ioe.printStackTrace(); } } }.start(); // Consommation de la sortie d'erreur de l'application externe dans un Thread separe new Thread() { public void run() { try { BufferedReader reader = new BufferedReader(new InputStreamReader(process.getErrorStream())); String line = ""; try { while ((line = reader.readLine()) != null) { // Traitement du flux d'erreur de l'application si besoin est } } finally { reader.close(); } } catch (IOException ioe) { ioe.printStackTrace(); } } }.start(); System.out.println("on est passé"); } catch (IOException ex) { Logger.getLogger(Controleur.class.getName()).log(Level.SEVERE, null, ex); }
Lors de l'execution je vois que le fichier bat est bien executé (grace au system.out.println() )
Mais je veux vraiment avoir la fenetre dos qui s'ouvre et la voir visuelement vous avez une solution ?
Partager