Bonjour

Système : Windows 10.

J'ai un petit soucis avec les informations retournées après l'exécution d'une commande Process.
Tous les accents sont supprimés, j'ai essayé avec plusieurs code-pages mais sans succès.
Je veux lire tous les fichiers et répertoires d'un volume sur un NAS sur lequel j'ai les autorisations en lecture (disque Z: ici).
Je voudrais ajouter qu'avec l'explorateur Windows, les accents apparaissent correctement.

Peut-être ma programmation est erronée ? Je sais que l'utilisation d'un vecteur n'est pas la meilleure chose, mais le problème n'est pas là.

Mon exemple :
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
 
import java.io.File;
import java.util.Vector;
 
import gegeutil.Gegetools;
 
public class ListeAll_Windows
{
	public ListeAll_Windows()
	{
		ProcessBuilder pb = null;
    	       String cmd   =  "cmd ";
    	       String path = "Z:\\";
		try
		{
			 pb = new ProcessBuilder(cmd,"/c", "tree", "/f", "/a"  , path  ); 
	 	        Process p= pb.start( ); // p est un process.
		        Vector<String> v_result = ProcessFeedback.résultat(p);
 
		       for (String s : v_result)
		       {
			   System.out.println(s);
		       }
		}
		catch (Exception ex) {System.out.println(ex.toString()); } 	
	}

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
 
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Vector;
 
public class ProcessFeedback
{ 
 
	public static Vector<String> readFeedBack(Process process)
	{
		Vector<String> v_result = new Vector<String>();
		try
		{
                         int i=0;
			 InputStream inputStream = process.getInputStream();
			 String line;
			 BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream,"UTF_8")  ) ;
			 while ((line = reader.readLine()) != null) 
			 {
				v_result.add(i++, line);  
			 }	 
			 return v_result;
		} 
		catch (Exception ex){return null;} 
	}		
}
Merci d'avance
Gérard