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

Collection et Stream Java Discussion :

Comment changer la valeur d'une clé sans perdre la structure du fichier properties


Sujet :

Collection et Stream Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 23
    Points : 15
    Points
    15
    Par défaut Comment changer la valeur d'une clé sans perdre la structure du fichier properties
    Bonjour,

    J'essaye de modifier la valeur d'une clé dans un fichier properties en utilisant la code ci dessous mais je perd la structure de mon fichier (les saut de lignes et les commentaires), y a t-il une autre manière de faire pour garder la structure du document et ne modifier que la valeur de la clé?

    Merci d'avance

    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
                            OutputStream outPropFile;
     
    			  try {
     
    		            File file = new File("chemin du fichier");
    		            file.createNewFile();  
    		            Properties properties = new Properties();
    		            properties.load(new FileInputStream(file));
     
    		            properties.setProperty("maclé", "nouvelle valeur");
    		            properties.store(new FileOutputStream(file), null);
    		            outPropFile.close();
     
    		        } catch (IOException ex) {
    		                System.out.println(ex.toString());
    		        }

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 566
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 566
    Points : 21 635
    Points
    21 635
    Par défaut
    Oui : parser toi-même le fichier au lieu d'utiliser Properties.

  3. #3
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Points : 2 560
    Points
    2 560
    Par défaut
    Bonjour,
    je me rappelle que j'ai déjà eu le même besoin et bien sûr, j'ai dû implémenter une nouvelle classe pour faire le boulot.
    Ce que je te proposerai par exemple, c'est de créer une nouvelle classe public class EnhancedProperties extends Properties et tu @Override la méthode store(); au moins, et très probablement la méthode setProperty(); ...
    Il se peut que tu aies besoin de faire l'@override sur d'autres méthodes, cela va de soi.
    Moi, j'avais fait le travail car je voulais en même conserver les commentaires qui se trouvaient dans les fichiers properties et aussi l'ordre des clé/valeur.
    Cordialement,

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    Bonjour,
    Merci pour vos réponses, pour contourner le problème j'ai utiliser un BufferedReader et BufferedWriter et je parcoure le fichier ligne par ligne en vérifiant si la ligne commence par ma clé et si c'est le cas je modifie la ligne avec la clé et sa nouvelle valeur à la fin je supprime le fichier source et je renomme le nouveau.

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

Discussions similaires

  1. Comment changer la valeur d'une cellule ?
    Par lordatef dans le forum Débuter
    Réponses: 3
    Dernier message: 05/08/2011, 16h26
  2. Réponses: 3
    Dernier message: 26/05/2009, 14h21
  3. Réponses: 2
    Dernier message: 13/05/2009, 14h37
  4. Réponses: 1
    Dernier message: 23/09/2006, 14h12

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