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 :

Ajouter et utiliser un fichier properties


Sujet :

Entrée/Sortie Java

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 11
    Points : 10
    Points
    10
    Par défaut Ajouter et utiliser un fichier properties
    Bonjour,

    Je réalise une application graphique sous netbeans. J'aimerais ajouter un fichier properties a mon application pour y récupère les informations de connexion de ma base de donnée (ip, user, pw). Puis si jamais la Base est déplacée pouvoir y accéder en modifiant ce fichier.

    Cependant je n'arrive pas a ajouter mon fichier .properties a mon application et a y accéder.
    En utilisant le chemin absolu, je n'ai aucun problème, mais je voudrais pouvoir inclure le .properties pour qu'une fois compilé je puisse y accéder dans mon dossier lib par exemple.

    J'ai essayer avec netbeans d'ajouter un dossier /conf contenant mon fichier config.properties, mais a la compilation aucune de mes librairies n'est compilé.

    Je travail sur ubuntu, quelqu'un a une idée ?

  2. #2
    Membre chevronné
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Points : 1 855
    Points
    1 855
    Par défaut
    ma référence habituelle : ICI (compléter un peu pour utiliser le fichier .properties)
    J'ai des principes: je peux toujours trouver une bonne raison pour les contredire .... mais j'ai des principes!
    (mon excellent bouquin sur Java : https://eska-publishing.com/fr/livre...822407076.html)

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    Merci beaucoup pour cette réponse, je pense m'approcher du but mais je bloque encore.

    voila mon arborescence :


    J'ai donc placé mon fichier config.properties dans un package. Cependant je n'arrive pas a y accéder.
    En effet j'ai besoin de récupérer les informations de mon fichier dans ma classe Connect.
    Cependant toute mes fonctions sont des fonctions static et je ne vois pas comment je dois récupérer mon fichier.

    ma classe Connect :
    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
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    package DAO;
     
    import java.io.FileNotFoundException;
    import java.sql.*;
    import java.util.Properties;
    import java.io.FileInputStream;
    import java.io.IOException;
     
    public class Connect {
     
        private static Connection con = null;
     
        private static Connection open() {
            try {
                Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            } catch (ClassNotFoundException e) {
                System.out.println("Pilote mal installé " + e);
                System.exit(-1);
            }
            try {
                try {
                    // Ouverture du fichier config.properties
                    Properties prop = new Properties();
                    FileInputStream in = new FileInputStream("config.properties");
                    prop.load(in);
                    in.close();
     
                    // Extraction des propriétés
                    String ip = prop.getProperty("IpServeurSQL");
                    String nom = prop.getProperty("NomBaseDeDonnee");
                    String user = prop.getProperty("LoginBaseDeDonnee");
                    String pw = prop.getProperty("PasswordBaseDeDonnee");
     
                    /*String ip = "192.168.1.254";
                    String nom = "Torana";
                    String user = "sa";
                    String pw = "root";*/
     
                    // Connexion
                    String url = "jdbc:sqlserver://" + ip + ";databaseName=" + nom;
                    con = DriverManager.getConnection(url, user, pw);
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            } catch (SQLException e) {
                System.out.println("Erreur SQL : " + e);
            }
            return con;
        }
     
        public static Connection get() {
            try {
                if (con == null || con.isClosed()) {
                    con = Connect.open();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return con;
        }
     
        public static void close() {
            try {
                con.close();
            } catch (SQLException e) {
                System.out.println("Erreur SQL : " + e);
            }
        }
     
    }

  4. #4
    Membre chevronné
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Points : 1 855
    Points
    1 855
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    InputStream in = Connect.class.getResourceAsStream("/Properties/config.properties") ;
     // etc...
    (nota: nom des packages pas conformes à l'étiquette)
    J'ai des principes: je peux toujours trouver une bonne raison pour les contredire .... mais j'ai des principes!
    (mon excellent bouquin sur Java : https://eska-publishing.com/fr/livre...822407076.html)

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    Merci beaucoup j'avais une erreur non-static avec mon filInputStream et je pensais qu'elle se repporterais sur un InputStream.

    je met mon code si jamais sa peu servir, et résolu.
    Il ne me manque plus qu'a trouver comment editer le fichier une fois l'application compilé.

    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
    try {
                    // Ouverture du fichier config.properties dans le package Properties
                    Properties prop = new Properties();
                    InputStream in = Connect.class.getResourceAsStream("/Properties/config.properties") ;
                    prop.load(in);
                    in.close();
     
                    // Extraction des propriétés
                    String valeur1 = prop.getProperty("valeur1");
                    String valeur2 = prop.getProperty("valeur2");
                    String valeur3 = prop.getProperty("valeur3");
     
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }

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

Discussions similaires

  1. Utiliser un fichier .properties avec struts 1.3
    Par malikoo dans le forum Struts 1
    Réponses: 2
    Dernier message: 14/02/2010, 09h01
  2. utilisation des fichiers .properties sous perl
    Par proDZ dans le forum Langage
    Réponses: 1
    Dernier message: 16/10/2009, 08h55
  3. Utiliser plusieurs fichiers properties
    Par Kaori dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 17/06/2009, 14h56
  4. Utiliser plusieurs fichiers properties
    Par guilhemr dans le forum Struts 1
    Réponses: 5
    Dernier message: 05/10/2006, 10h04
  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