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 :

[ Properties ] Load d'un fichier Properties "proprement"


Sujet :

Collection et Stream Java

  1. #1
    Nouveau membre du Club Avatar de Warz
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 48
    Points : 38
    Points
    38
    Par défaut [ Properties ] Load d'un fichier Properties "proprement"
    Bonjour à tous,

    Je voulais savoir comment faire pour, à partir de n'importe quel Package de mon application, loader un fichier Properties et de manière correct.

    Je crois ( mais je ne sais pas trop sûr) c'est de faire une classe singleton qui ferait appelle à un getInstance() pour récupérer le fichier (ça, je crois ok mais bon...).

    L'appel se ferait tel que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public static String projectPath = System.getProperty("user.dir");
    public static String webAppPath = projectPath + "/webApplication";
    public static String webInfPath = webAppPath + "/WEB-INF";
    public static String srcPath = projectPath + "/src";
    ...
    Properties properties = new Properties();
    properties.load(new FileInputStream(srcPath+"/my.properties"));
    Mais j'ai décidé de prendre des bonnes résolutions donc je demande -> est-ce comme ça que l'on doit faire ?

    C'est surtout le singleton et le System.getProperty("user.dir") qui me perturbe mais peut-être que c'est comme ça que l'on doit faire.

    Merci d'avance !

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 274
    Points : 307
    Points
    307
    Par défaut
    Bonjour,

    le principe du singleton est correct.

    Pour le code voici le genre de truc que j'utilise
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
    package proprietes;
     
    import java.io.IOException;
    import java.net.URL;
    import java.util.Properties;
    import org.apache.log4j.Logger;
     
    /**
     * Classe permettant la lecture des proprietés de l'application
     */
    public class Proprietes {
     
        /** Initialisation du logger. */
        public static Logger logger = (Logger) 
            Logger.getLogger();
     
     
        /** Fichier de Properties */
        private static Properties propertiesResource = null;
     
     
        /** Nom de fichier de Properties */
        public final static String NOM_RESSOURCES = "my.properties";
     
     
        /** Référence vers le fichier de définition des ressources de 
         * l'application 
         * @param cle String
         * @return String
         */
        public static String getRessource(String cle) {
            return getPropertiesResource().getProperty(cle);
        }
     
     
     
        /** Référence vers le fichier de définition des ressources de 
         * l'application 
         * @return MessageResources
         */
        public static Properties getPropertiesResource() {
     
            if (propertiesResource == null) {
                ClassLoader cl = Thread.currentThread().getContextClassLoader();
                java.io.InputStream is = cl.getResourceAsStream(NOM_RESSOURCES);
                if (is != null) {
                    propertiesResource = new Properties();
                    try {
                        propertiesResource.load(is);
                    } catch (IOException e) {
     
                        logger.error(e);
                    }
                }
     
            }
            return properties;
        }
     
    }

  3. #3
    Futur Membre du Club
    Profil pro
    IT ANALYST
    Inscrit en
    Mai 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT ANALYST

    Informations forums :
    Inscription : Mai 2004
    Messages : 5
    Points : 7
    Points
    7
    Par défaut
    Merci beaucoup,


    Le bout de code m'a été d'une grande utilité

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

Discussions similaires

  1. fichier properties load exception
    Par friedamichelle dans le forum Entrée/Sortie
    Réponses: 8
    Dernier message: 18/02/2009, 14h14
  2. [Properties] Modif d'un fichier properties avec Commentaires
    Par snetechen dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 19/10/2006, 16h00
  3. [Properties] lecture d'un fichier properties
    Par noOneIsInnocent dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 22/01/2006, 13h31

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