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 :

Question sur lecture d'un fichier text en Java


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2007
    Messages : 38
    Par défaut Question sur lecture d'un fichier text en Java
    Bonjour,

    Je doit lire un fichier texte en Java et le comparer avec un fichier XML.
    Mais pour commencé j'ai quelque difficulté a lire le fichier texte.

    Mon fichier texte resemble a ceci:

    Roger Michaud, 1452369874, 321, 2
    Albert Richard, 5986541235, 321, 6
    Yvette Gagnon, 5987596230, 1, 12
    Je doit pouvoir recuperer les données de l'avant-derniere virgule ( 321 et 1 ) et je doit pouvoir recuperer les derniere donnees ( 2 , 6 et 12 ). Je doit pouvoir les compare ou soustraire a un fichier XML qui contient deux attribut distinct.

    Voici ce que j'ai en java pour l'instant pour lire mon fichier texte:

    public static void main(String[] args) throws Exception {

    InputStream ips=new FileInputStream("achats.txt");
    InputStreamReader ipsr=new InputStreamReader(ips);
    BufferedReader br=new BufferedReader(ipsr);
    String line;
    String texte = "";
    while ((line=br.readLine())!=null){
    texte+=line+"\n";
    }
    br.close();
    System.out.println(texte);
    }
    Ce code lis tout mon fichier en entier et l'affiche, moi je voudrais pouvoir afficher les deux dernier information de mon fichier texte, dans des variables.

    Merci de votre aide.

  2. #2
    Membre Expert
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Par défaut
    Bonjour
    pour faire simple tu recupere chaque ligne par exemple (ligne) et tu fait un split sur la ligne par exemple (ligne.split(","))que tu met dans un tableau de String et apres t'a juste qu'a prendre les deux derniers chaine de ton tableau et le tour est joué
    @+

  3. #3
    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
    Un conseil : pour concatener les chaines, utilise StringBuffer ou StringBuilder(depuis JDK1.5) plutôt que l'opérateur += sur String.

  4. #4
    Membre expérimenté Avatar de Amine_sas
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 245
    Par défaut
    Salut,

    Tu peux également utiliser la classe StringTokenizer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    while ((line=br.readLine())!=null){
    texte+=line+"\n";
    StringTokenizer tokenizer = new StringTokenizer(text, ",");
    /* pour la chaine Roger Michaud, 1452369874, 321, 2 l'objet tokenizer contiendra 4 tokens. */
     
    String s1 = tokenizer.nextToken(); // Roger Michaud
    String s2 = tokenizer.nextToken(); // 1452369874
    String s3 = tokenizer.nextToken(); // 321
    String s4 = tokenizer.nextToken(); // 2
    }
    pour atteindre directement le 4eme token par exemple tu peux utiliser la méthode booléenne hasMoreTokens() avec un compteur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    int i = 1;
    while (tokenizer.hasMoreTokens() && i < 4)
    {
       tokenizer.nextToken();
       i++;
    }
     
    String str4 = tokenizer.nextToken();
    A+

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2007
    Messages : 38
    Par défaut
    Wow! merci beaucoup de l'aide.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2007
    Messages : 38
    Par défaut
    Quelle IMPORT que je doit inscrire au début du fichier pour utilisé StringTokenizer?

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

Discussions similaires

  1. Double question sur lecture Fichier txt
    Par loribac dans le forum Langage
    Réponses: 6
    Dernier message: 29/05/2013, 14h13
  2. lecture d'un fichier texte avec java.
    Par thy-sins dans le forum Général Java
    Réponses: 1
    Dernier message: 03/02/2012, 07h12
  3. Réponses: 6
    Dernier message: 23/02/2006, 12h09
  4. Lecture d'un fichier Texte
    Par jcharles dans le forum Bases de données
    Réponses: 8
    Dernier message: 27/10/2004, 14h58
  5. Stockage de données & lecture d'un fichier texte
    Par petitours dans le forum C++Builder
    Réponses: 6
    Dernier message: 13/03/2004, 14h05

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