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

Java Discussion :

Fichier de configuration


Sujet :

Java

  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 105
    Par défaut Fichier de configuration
    Bonsoir,

    Jusqu'à maintenant, pour sauvegarder mes preferences utilisateurs, j'utilisais la classe Preferences pour sauvegarder des int, boolean ou autres variables du genre.
    Or maintenant, j'ai besoin de sauvegarder des objects de type TreeMap.
    J'ai donc pensé à créer un fichier de type de configuration en utilisant la serialization pour tout mes paramètres.
    J'avais donc quelques questions:
    - Quelle est la difference entre un FileInputStream ou Output et un BufferedReader ou Writter ?
    - Ensuite, ne pensez vous pas que la meilleure solution serait de sauvegarder directement une map contenant l indentifiant de mes parametres comme clée et son contenu?

    Merci pour vos réponses et bonne soirée.

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 901
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 901
    Billets dans le blog
    54
    Par défaut
    Il t'es aussi possible de serialiser un objet dans l'API de Preferences en convertissant le byte[] optenu via un ByteArrayOutputStream en String. Resp dans l'autre sens.
    Attention cependant a faire des tests pour verifer si ca marche bien sur toutes les plateformes et si ca ne pose pas de probleme d'encodage de chaines.

    Pour ma part j'ai fait dernierement un truc du genre pour serialiser de toute petits objets et ca marche au moins sous Windows :

    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
     
      public void putSiteDetails(String name, SiteDetails info) throws Exception {
        // Add or replace saved site.
        if (info != null) {
          ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
          ObjectOutputStream objectOut = new ObjectOutputStream(byteOut);
          try {
            objectOut.writeObject(info);
            byte[] byteArray = byteOut.toByteArray();
            put(SITE_STORAGE_PREFIX + name, new String(byteArray));
          }
          finally {
            objectOut.close();
          }
          ...
        }
        // Remove saved site.
        else {
          put(SITE_STORAGE_PREFIX + name, null);
          ...
        }
      }
     
      public SiteDetails getSiteDetails(String name) throws Exception {
        String s = get(SITE_STORAGE_PREFIX + name, null);
        SiteDetails result = null;
        if (s != null) {
          byte[] byteArray = s.getBytes();
          ObjectInputStream objectIn = new ObjectInputStream(new ByteArrayInputStream(byteArray));
          try {
            result = (SiteDetails) objectIn.readObject();
          }
          finally { 
            objectIn.close();
          }
          ...
        }
        return result;
      }
    Ou mon API de sauvegarde de configuration utilisateur est un wrapper sur l'API de Preferences (fut un temps mon API sauvegardait dans un fichier ini/conf/properties via Properties si JVM <= 1.3 et dans les Preferences si JVM >= 1.4).
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 105
    Par défaut
    vais examiner tout ca merci beaucoup =)

    En attendant une réponse, j ai testé la serialization d'un Hashtable qui contient l identifiant de la variable et sa valeur et ca marche plutot bien aussi.

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

Discussions similaires

  1. [Débutant] Fichier de configuration
    Par Xavinou dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 26/09/2005, 23h02
  2. Réponses: 4
    Dernier message: 09/09/2005, 12h59
  3. [Log4j] fichier de configuration ou XML ?
    Par nabilblk dans le forum Logging
    Réponses: 2
    Dernier message: 02/09/2005, 16h42
  4. [langage] Lire un fichier de configuration
    Par bobinoo dans le forum Langage
    Réponses: 3
    Dernier message: 04/08/2004, 15h53
  5. Les fichiers de configuration de comptes avec Samba
    Par tomnie dans le forum Réseau
    Réponses: 4
    Dernier message: 18/03/2004, 08h30

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