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

Langage Java Discussion :

sauver properties avec nouvelle ligne


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 29
    Par défaut sauver properties avec nouvelle ligne
    Bonjour,

    J'ai déjà cherché l'information, mais mal heureusement, je ne la trouve, raison pour la quelle je fait appel à vous.

    J'utilise des fichiers properties. Mon logiciel les lit, édite et ensuite sauve.
    Jusque là tout va bien.

    Mais dans la sauvegarde, je souhaiterais que l'une des clefs qui est sauvé et qui contient une liste, aie chaque éléments sur une nouvelle ligne.

    Donc dans le properties je devrait obtenir quelque chose comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    clef=elem1\
    \elem2\
    \elem3
    Mon problème est lorsque je tente de le faire, j'obtient soit quelque chose comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    clef=elem1\nelem2\nelem3
    soit comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    clef=elem1\\elem2\\nelem3
    Comment dois-je faire?

    Merci d'avance.


    Edit:
    Voici mon code, pour vous aider.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    private String listToProp(List<String> listString){
        String sToReturn = "";
        for(int i = 0; i < listString.size(); i++){
            sToReturn += listString.get(i);
            if(i < listString.size()-1){
                sToReturn += "\n\\";
            }
        }
        return sToReturn;
    }
    Ensuite je fais properties.set("clef", listToProp(maListe)); pour setter la valeur.
    Mon soucis ce trouve à la ligne n°7.

  2. #2
    Rédacteur
    Avatar de bulbo
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2004
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2004
    Messages : 1 259
    Par défaut
    Bonjour,

    Je pense que ton soucis c'est que ce que tu veux faire ne respecte pas vraiment le format des fichiers properties. En gros une propriété par ligne, avec le premier élément (parfois le séparateur peut varier entre un espace ou un =) étant la clé et ensuite la valeur.

    Même si tu réussissais à faire ce que tu veux tu ne pourrais pas recharger le fichier en utilisant Properties.load.


    Soit tu t'orientes vers un autre format genre XML soit tu vas devoir écrire ta propre classe Properties supportant des listes sur plusieurs lignes.

    Bonne chance,

    Bulbo
    [Java] [NetBeans] [CVS]
    La FAQ Java
    Merci de ne pas me poser de questions techniques par MP.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 29
    Par défaut
    Les properties supporte le fait qu'il y ai plusieurs lignes pour une valeur d'une clef, pour ça, il faut ajouté \ à la fin de la ligne.
    Après, avec mon code je peu détecter le faite que c'est une nouvelle ligne ou pas.

    Pour réglé mon problème j'ai changé le séparateur nouvelle ligne que je souhaitais par une virgule.

  4. #4
    Rédacteur
    Avatar de bulbo
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2004
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2004
    Messages : 1 259
    Par défaut
    Citation Envoyé par javadoc
    The load(Reader) / store(Writer, String) methods load and store properties from and to a character based stream in a simple line-oriented format
    Ce qui est étrange c'est que la lecture d'un fichier multiligne défini avec un \ en fin de ligne marche mais on perd l'information des différentes lignes dans les propriétés multilignes .. qui se retrouve collée toute sur une même ligne.

    Par contre la méthode store ne veut rien savoir concernant le multiligne.

    Bulbo
    [Java] [NetBeans] [CVS]
    La FAQ Java
    Merci de ne pas me poser de questions techniques par MP.

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

Discussions similaires

  1. [9.0] Comment rechercher des nouvelles lignes '\n' en batch avec psql ?
    Par dungeonkeeper81 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 17/12/2014, 08h25
  2. Creer des nouvelles lignes avec sed
    Par hpavavar dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 24/10/2009, 15h58
  3. Ajouter une nouvelle ligne avec les calculs
    Par Myogtha dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/02/2009, 10h19
  4. nouvelle ligne avec richfaces
    Par hassounbs dans le forum JSF
    Réponses: 2
    Dernier message: 05/11/2008, 10h57
  5. [C#] Equivalent Property avec arguments de VB.NET
    Par Antz dans le forum Windows Forms
    Réponses: 4
    Dernier message: 26/03/2004, 13h14

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