Bonsoir à tous,
Voilà je suis face à un problème lors de l'appel à une application externe.
Mon problème semble venir de ma migration vers vista. En effet, voici le problème :
Je fais un appel à winrar et récupère les résultats d'MS DOS comme suit :
Sous XP je pouvais lire en les résultats, mais là voici le retour après éxécution :
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 final Process process = runtime.exec(args); for(String tmp : args){ System.out.print(tmp+" "); } // Consommation de la sortie standard de l'application externe dans un Thread separe 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); // Traitement du flux de sortie de l'application si besoin est } } finally { reader.close(); } } catch(IOException ioe) { ioe.printStackTrace(); } } }.start();
ഊ剁删㌮㠰†⁃潰祲楧桴 挩‱㤹㌭㈰〸⁁汥硡湤敲⁒潳桡氠†ㄶ⁓数′〰㠍敲獩潮⁓桡牥睡牥††††⁐潵爠潢瑥湩爠摥❡楤攬⁴慰敺⁒䅒*㼍硴牡捴楯渠摥灵楳⁄㩜呥浰屉湣潭楮杜愮牡爍桩猠牥汥慳攠楳桡牥搠批㨠䵥汶楮ㄸഊഊ佷渠獩瑥㨍睷桡牥灬慮整氍潲潲攠杲敡琠牥汥慳敳⁹潵慮⁶楳楴 etc ...
J'ai vérifié en exécutant exactement la même commande directement sous MS-DOS, et c'est bien du français.
Il y'a t'il une particularité pour la gestion du flux entre Java et la console MS-DOS sous Windows Vista ?
Merci pour la lecture
Partager