Bonjour à tous ,
j'essais d'exécuter une application externe à mon programme principale en récupérant ses arguments des paramètres sais par l'utilisateur.
j'ai utilisé proccess builder en suivant un tutoriel ..
j'ai fait les modifications dont j'ai besoin mais la fonction env.put(..)
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
58
59
60
61
62
63
64
65
66 import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.Map; import java.util.Map.Entry; class AfficheurFlux implements Runnable { private final InputStream inputStream; AfficheurFlux(InputStream inputStream) { this.inputStream = inputStream; } private BufferedReader getBufferedReader(InputStream is) { return new BufferedReader(new InputStreamReader(is)); } @Override public void run() { BufferedReader br = getBufferedReader(inputStream); String ligne = ""; try { while ((ligne = br.readLine()) != null) { System.out.println(ligne); } } catch (IOException e) { e.printStackTrace(); } } } public class Main { public static final String CHEMIN = "C:\\workspace\\"; public static void main(String[] args) { try { ProcessBuilder pb = new ProcessBuilder("cmd.exe", "/C", "HelloWorld.bat"); pb.directory(new File(CHEMIN)); Map env = pb.environment(); for (Entry entry : env.entrySet()) { System.out.println(entry.getKey() + " : " + entry.getValue()); } env.put("MonArg", "Valeur"); Process p = pb.start(); AfficheurFlux fluxSortie = new AfficheurFlux(p.getInputStream()); AfficheurFlux fluxErreur = new AfficheurFlux(p.getErrorStream()); new Thread(fluxSortie).start(); new Thread(fluxErreur).start(); p.waitFor(); } catch (IOException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } } }
je l'ai pas compris meme si j'ai cherche sur internet j'ai pas bien saisi cequ'il faut faire!
les variables d'environnement sont les memes que les arguments de ma commande !!!
Partager