IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

Process feedback et accents français


Sujet :

API standards et tierces Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2022
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2022
    Messages : 51
    Par défaut Process feedback et accents français
    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

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    Au hasard, tu es sure que UTF-8 est le bon choix ? Cp1252 n'irait pas mieux sous windows ?
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2022
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2022
    Messages : 51
    Par défaut
    J'avais essayé tous les codepages incluant Cp1252, sans résultat. Par contre je viens de tenter avec Cp852 et Ô miracle, ça marche.

    Néanmoins merci pour ta réponse et d'avoir essayé de m'aider.

    Gérard

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DOM] Ajout d'une instrution de processing
    Par corwin_d_ambre dans le forum Format d'échange (XML, JSON...)
    Réponses: 9
    Dernier message: 06/05/2003, 11h51
  2. Accents
    Par Sylvain Leray dans le forum XMLRAD
    Réponses: 2
    Dernier message: 26/02/2003, 16h17
  3. identification lettre (pb accent)
    Par scorbo dans le forum C
    Réponses: 5
    Dernier message: 14/12/2002, 02h59
  4. que deviennent mes accents ?!
    Par petitdns dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 28/11/2002, 09h32
  5. [Accents - XML] Problème de codage non supporté !!
    Par Smortex dans le forum Composants VCL
    Réponses: 6
    Dernier message: 24/11/2002, 11h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo