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 :

[Lecture Fichier] Réalisation d'un fichier de configuration


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 109
    Par défaut [Lecture Fichier] Réalisation d'un fichier de configuration
    Bonjour à tous!

    Je réalise en ce moment un programme qui lit sur un port série et envoie les données sur un autre PC.
    A ce stade tout fonctionne normalement, j'essaye juste de créer un fichier de configuration afin de récupérer l'adresse IP du PC et le port COM pour la liaison série (pour ne pas recompiler le programme si ces paramètres changent!)

    J'ai pensé à entrer ces paramètres dans un simple fichier texte (genre config.txt)

    Je fait un truc du genre :
    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
     
    String PortCom; //Paramètre a récupérer du fichier de configuration
    FileReader fr = new FileReader("C:/.../config.txt");
    int lu,i=0;
    char s;
    char tab[] = new char[100];
    //On stock les params de config dans tab[]
    do {
         lu = fr.read(); 
         s = (char) lu;
         tab[i]=s;
         i++;
         } while (lu != '\n'); // tant que l'on est pas à la fin de la ligne
    fr.close();
    PortCom = String.copyValueOf(tab);
    System.out.println(PortCom);
    Bon la ça marche car dans config.txt il y a :
    COM1
    192.168.0.1
    Mais j'aimerai réaliser un fichier plus propre histoire d'être sur que je récupère bien le bon paramètre au cas ou un utilisateur lambda rentrerai l'IP avant le port com

    Donc quelqu'un aurait-il un lien sur comment réaliser un fichier de conf proprement (et simplement si possible!!!)???? Je n'ai pas réussi à en trouvé...

    Merci d'avance.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 65
    Par défaut
    Salut,

    regarde du côté des properties java.
    Dans ton fichier conf.properties tu associes une clé à une valeur tu auras donc :
    ip=192.168.0.1
    port=COM

    L'avantage c'est que tu n'auras pas besoin de te prendre la tête à lire fichier texte car une fois le fichier properties chargé il suffira de récupérer la valeur associée à la clé de la format : properties.get("ip") et ça te retournera 192.168.0.1.

    Pour l'implémentation tu dois pouvoir trouver ça facilement grâve à notre ami google.

    Bon courage.

  3. #3
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    La solution Java serait d'utiliser la classe Properties et un fichier qui contiendrait quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    PortCom = COM1
    IP = 192.168.0.1
    que tu chargerais ensuite de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    		Properties properties = new Properties();
    		FileReader fr = new FileReader("C:/.../config.txt");
    		try {
    			properties.load(fr);
    		} finally {
    			fr.close();
    		}
    Il ne te reste plus qu'à utiliser la méthode getProperty() pour récupérer tes valeurs selon leurs noms...

    a++

    [edit] grillé

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 109
    Par défaut
    Merci pour ces réponses! Vous avez été bien efficaces!!!!!
    J'ai juste du changé le FileReader par un FileInputStream car properties veut un InputStream :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    fileStream = new FileInputStream("C:/.../config.txt");   
    try {
          properties.load(fileStream);
    } finally {
          fileStream.close();
    }
    Ca marche nikel! Merci encore!

  5. #5
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par goddet
    J'ai juste du changé le FileReader par un FileInputStream car properties veut un InputStream
    En effet ! En fait j'ai testé le code avec Java 6 qui possède désormais une méthode load(Reader)...

    a++

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 125
    Par défaut
    Merci adiGuba, quelques années plus tard, ton post est toujours utile !

    Il y a quelques années que je m'étais orienté vers le C# et là, de nouveaux besoins me font revenir au Java; mais je dois avouer que tout ce beau monde a bien changé en 10 ans !
    Heureusement que Developpez.Net est toujours aussi bon: ça me permet de tirer la substantifique moelle et d'aller directement aux choses sérieuses

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

Discussions similaires

  1. lecture d'éléments dans mon fichier
    Par gillou4 dans le forum C
    Réponses: 9
    Dernier message: 23/10/2005, 16h19
  2. lecture et diffusion d'un fichier audio
    Par stem dans le forum Windows
    Réponses: 5
    Dernier message: 22/10/2005, 21h53
  3. Réponses: 5
    Dernier message: 03/06/2005, 14h06
  4. Problème lecture de nombre dans un fichier en c++
    Par knecmotet dans le forum C++
    Réponses: 1
    Dernier message: 28/10/2004, 15h48
  5. Réponses: 2
    Dernier message: 26/09/2003, 14h51

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