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

Entrée/Sortie Java Discussion :

Encodage fichier properties


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 511
    Par défaut Encodage fichier properties
    Bonjour
    Pour éviter de multiple redéploiement et donc actualiser des fichiers properties d'une appli déployée en intranet via un fichier xml dispo sur mon serveur j'avais écris cette méthode mais j'ai un pb d'encodage sur les caractères accentués:
    lecture du fichier et mise à jour d'une paire
    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
    	public static void majCle(final String fileLocation, final String nouvelle, final String cle, final String valeur ){
    		FileInputStream fis = null;
    		//On instancie un nouvel objet Properties
    		Properties myProps = new Properties();
    		String FileName = index.GestMat.fileProperties+fileLocation+".properties";
    		System.out.println("FileName:"+FileName);
    		try {
    			fis = new FileInputStream(FileName);
    			myProps.load(fis);
    			fis.close();	
    		} catch (FileNotFoundException e) {e.printStackTrace();}
    		  catch (IOException e) {e.printStackTrace();}
    		  catch (NullPointerException e) {e.printStackTrace();}
    		  finally{try{if(fis!=null){fis.close();}}catch (Exception e) {}}
    		  myProps.setProperty(cle,valeur);
    		  saveProperties(myProps, FileName,"");
    	}
    Enregistrement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ublic static void saveProperties(final Properties props, final String fileLocation, final String commentaires) 
    		{try{
    			OutputStream out = new FileOutputStream(fileLocation);
    			props.store(out, commentaires);
    			out.flush();
    			out.close();
    		}catch(final FileNotFoundException e){e.printStackTrace();}
    		 catch (IOException e){e.printStackTrace();}
    	}
    Comment procéder pour corriger ce pb
    Merci

  2. #2
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Comme l'indique la javadoc, l'encodage présumé des fichiers de propriétés est ISO 8859-1.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 511
    Par défaut
    Si c'était le cas, je n'aurai pas ce pb, le fichier xml source étant bien encodé.
    Donc j'ai trouvé dans la doc du site qu'il valait mieux passer par un Writer et plus de pb.
    Si ça peut aider
    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
    public static void majCle(final String fichier, final String cle, final String valeur ){
    		System.setProperty("file.encoding","IO-8859");
    		FileInputStream fis = null;
    		Properties myProps = new Properties();
    		String FileName = index.GestMat.fileProperties+fichier+".properties";
    		try {
    			fis = new FileInputStream(FileName);
    			myProps.load(fis);
    			fis.close();	
    		} catch (FileNotFoundException e) {e.printStackTrace();}
    		  catch (IOException e) {e.printStackTrace();}
    		  catch (NullPointerException e) {e.printStackTrace();}
    		  finally{try{if(fis!=null){fis.close();}}catch (Exception e) {}}
     
    		  myProps.setProperty(cle,valeur);
     
    		  final java.util.Enumeration en = myProps.keys();
    		  Writer w = getFileWriter(new File (FileName), "ISO-8859-1");
    		  try{
    			  while(en.hasMoreElements())
    			  	{String name = (String) en.nextElement();
    				 w.write(name+"="+myProps.getProperty(name)+"\n");}
    			  w.flush();
    			  w.close();
    		  }catch(Exception e){e.printStackTrace();}
     
    	}
     
     
    	public static final Writer getFileWriter(File file, String encoding) {
    	        try {
    	            if (!file.exists()) {
    	                file.createNewFile();
    	            }
    	            return new BufferedWriter(new OutputStreamWriter(
    	                                       new FileOutputStream(file), encoding));
    	        } catch (FileNotFoundException fnfe) {fnfe.printStackTrace();
    	        } catch (IOException ioe) {ioe.printStackTrace();}
    	        return null;
    	}

  4. #4
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Ah excuse je n'avais pas vu que c'était un fichier XML.

    Enfin, content que le problème soit résolu

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

Discussions similaires

  1. Fichier properties et encodage
    Par Marty000 dans le forum Langage
    Réponses: 16
    Dernier message: 05/10/2010, 16h47
  2. [init] Recupérer un fichier properties et l'utiliser
    Par brousaille dans le forum Servlets/JSP
    Réponses: 14
    Dernier message: 13/01/2005, 14h50
  3. [JAR] Comment écrire dans un fichier properties dans un jar
    Par Alec6 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 05/10/2004, 15h16
  4. [STRUTS] fichier properties indépendant
    Par meufeu dans le forum Struts 1
    Réponses: 5
    Dernier message: 28/07/2004, 16h10
  5. [struts] utiliser plusieurs fichiers properties
    Par jaimepasteevy dans le forum Struts 1
    Réponses: 7
    Dernier message: 03/10/2003, 17h02

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