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 :
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();
Sous XP je pouvais lire en les résultats, mais là voici le retour après éxécution :
ഊ剁删㌮㠰†⁃潰祲楧桴
挩‱㤹㌭㈰〸⁁汥硡湤敲⁒潳桡氠†ㄶ⁓数′〰㠍੖敲獩潮⁓桡牥睡牥††††⁐潵爠潢瑥湩爠摥❡楤攬⁴慰敺⁒䅒*㼍਍਍੅硴牡捴楯渠摥灵楳⁄㩜呥浰屉湣潭楮杜愮牡爍਍੔桩猠牥汥慳攠楳⁳桡牥搠批㨠䵥汶楮ㄸഊഊ佷渠獩瑥㨍੷睷⹳桡牥灬慮整⹮氍਍੆潲潲攠杲敡琠牥汥慳敳⁹潵⁣慮⁶楳楴 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