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 :

[debutant] initialiser des variables depuis un fichier externe


Sujet :

Langage Java

  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 86
    Par défaut [debutant] initialiser des variables depuis un fichier externe
    Bonjour !

    Quelle est la manière simple d'initialiser des variables en fonction du contenu d'un fichier .txt ?

    Je m'explique :
    J'ai un fichier texte qui contient :
    COEF1 0.23
    COEF2 0.40
    Dans le programme, deux variables :
    double coef1, coef2
    auxquelles je veux affecter les valeurs contenues dans le fichier...

    J'y arrive, mais j'ai l'impression d'utiliser l'arme atomique pour écraser une mouche (transfo du .txt en String puis regexp ...)

    Merci de vos lumières, @+

  2. #2
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    Si le fichier n'est pas trop gros, j'utiliserais ta méthode à quelques exceptions près.
    Je lirais ligne par ligne et pour chaque ligne, j'utiliserais un StingTokenizer pour décomposer la ligne.
    Si le premier token = COEF, alors de décode le deuxième token :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    while((line=monReader.readLine())!=null){
       StrinKonizer st=new StringTokenizer(ligne);
       if(st.nextToken().equals("COEF")){
          try{
             double d=Double.parseDouble(st.nextToken());
             System.out.println("Double récupéré : "+d);
          }catch(NumberFormatException nfe){
             nfe.printStackTrace();
          }
       }
    }

  3. #3
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    Bonjour,
    Personellement si j'avais à coder ce genre de chose j'utiliserais un fichier properties vu que ton fichier texte correspond à un couple clé-valeur par ligne.
    Le parsing du fichier se retrouverait grandement simplifier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Properties props=new Properties();
    props.load(new FileReader("/chemin/vers/le/fichier.properties")); //le fichier est parsé en une seule ligne
    ensuite pour récuperer la valeur c'est simple car tu connais la clé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String coef1=props.getProperty("COEF1");
    @iohack : il parait que c'est mieux d'utiliser la méthode split plutôt que StringTokenizer :
    Citation Envoyé par javadoc
    StringTokenizer is a legacy class that is retained for compatibility reasons although its use is discouraged in new code. It is recommended that anyone seeking this functionality use the split method of String or the java.util.regex package instead.
    mais bon, ça se discute...

    @+


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  4. #4
    Membre chevronné
    Avatar de mhamedbj
    Profil pro
    Inscrit en
    Février 2007
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 403
    Par défaut
    ftp://ftp-developpez.com/cyberzoide/java/regex.pdf

    apres ça tu ne voudras plus utiliser de Tokenizer de toute ta vie !!!!!!!!!!!!!!!!!!!!!

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 86
    Par défaut
    Merci pour vos réponses :-)

    Je ne connaissais pas Properties, et dans mon cas c'est effectivement bien pratique.

    @+

  6. #6
    Membre chevronné Avatar de Scorpyosis
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2004
    Messages : 365
    Par défaut
    Bonjour,
    Personellement si j'avais à coder ce genre de chose j'utiliserais un fichier properties vu que ton fichier texte correspond à un couple clé-valeur par ligne.
    +1 j'ai pensé exactement la même chose, le fichier properties est une solution simple et complètement adapté a ce qu'il veut faire.

  7. #7
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    Pour les remarques sur le StringTokenizer, entièrement daccord avec vous !

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

Discussions similaires

  1. [Batch] Crée des variables depuis un fichier texte
    Par tidou95220 dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 24/03/2011, 15h26
  2. Script - ouvrir des urls depuis un fichier externe
    Par yuyu599 dans le forum Langage
    Réponses: 2
    Dernier message: 09/10/2010, 23h17
  3. [XL-2003] Importer des données depuis un fichier Excel au chemin variable
    Par tarnx dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/08/2010, 13h28
  4. [Debutant]Comment déclarer des variables dans un fichier a part
    Par megapacman dans le forum Général Java
    Réponses: 14
    Dernier message: 14/01/2008, 13h32
  5. [debutant]Recuper des variables depuis un fichier propertie
    Par smutmutant2003 dans le forum Langage
    Réponses: 9
    Dernier message: 14/10/2007, 18h53

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