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 :

lecture de fichier


Sujet :

Entrée/Sortie Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 9
    Points : 7
    Points
    7
    Par défaut lecture de fichier
    bonjour,
    voila j'ai un fichier avec plusieurs lignes, et je voulais savoir comment faire pour mettre la 1ere ligne(toute seule) dans un tableau et toutes les autres lignes dans un autre tableau.
    merci .

  2. #2
    Membre éclairé Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Points : 773
    Points
    773
    Par défaut
    Lire un fichier ligne par ligne

    pour vérifier le numéro de la ligne tu n'as qu'à créer une variable int que tu initialises à 0, et que tu incrémentes dans la boucle while de lecture. donc tu n'auras qu'à tester la valeur de cette variable pour connaître la ligne actuelle.

    Ou bien tu peux utiliser la classe LineNumberReader à la place de BufferedReader, et appeler la méthode getLineNumber() pour récupérer le numéro de la ligne. A noter que la numérotation commence à partir de 0.

  3. #3
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    salut.
    tu peut voir ici

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    merci pour votre aide ca m'a permis de passer le 1er obstacle, cependant ya toujours quelque chose qui cloche dans mon code, si vous voulez y jeter un coup d'œil et m'aider je vous serez tres reconnaissant
    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
    73
    74
    75
    76
    77
    78
    79
    	public static void main(String [] args) throws IOException
    	{
    		BufferedReader entree = new BufferedReader(new FileReader("paris-metro.txt"));
    		int lignenum=0;
    		int compteur =0;
    		Ligne ligne = null ;
            while (true)
            {
     
            	String lignelue =  entree.readLine();
            	compteur++;
            	System.out.println("compteur avant else **** "+compteur);
     
                if (compteur==1) 
                {
                StringTokenizer tok = new StringTokenizer(lignelue, "#### ,:");
     
                String name = null;
     
                if (tok.hasMoreTokens())
                {
                    name = tok.nextToken();
                    ligne = new Ligne(name);
     
                   lignenum++;
                   System.out.println("num de ligne avant le else *****  "+lignenum);
                   ligne.nom = tok.nextToken();
                   ligne.toString(ligne);}
                }
     
     
                else 
                {
     
     
                   int nombre =0;
     
                   System.out.println("nombre de stations au departs   "+ nombre);
     
                   StringTokenizer tok1 = new StringTokenizer(lignelue, ":");
     
                   if (tok1.hasMoreTokens())
                   {
     
                      ligne.ligneStations= new ArrayList<Station>();
     
                      String numero=" VOID";
                      System.out.println("********************  "+numero);
                      System.out.println("********************  "+ligne.num);
     
                      //System.out.println(station.getNom());
     
     
                      if (ligne.num.equals(numero));
                      { 
                      Station station = new Station();
                      numero = tok1.nextToken();
                      System.out.println("********************  "+numero);
                      station.nom=tok1.nextToken();
                      System.out.println("nom de station ajoutés "+station.nom);
                      ligne.ligneStations.add(station);
                      System.out.println("*************************************************************done");
                      nombre++;
     
                      station.toString();
                      }
                      System.out.println("nombre de station ajoutées a la ligne "+ligne.num+ " est" +" "+nombre);
                      System.out.println(ligne.nom);
     
                      }
                   System.out.println("compteur avant test de ligne vide **** "+compteur);
                   if (tok1.hasMoreTokens()==false) compteur=0;
                }
     
     
            }
    	}
     
    }
    .
    mon fichier text ressemble a ca
    #### 1-a:La Défense -- Château de Vincennes
    1-a:La Défense
    1-a:Esplanade de la Défense
    1-aont de Neuilly
    1-a:Les Sablons
    1-aorte Maillot
    1-a:Argentine
    1-a:Charles de Gaulle -Étoile
    1-a:George V
    1-a:Franklin D. Roosevelt
    1-a:Champs-Élysées - Clémenceau
    1-a:Concorde
    1-a:Tuileries
    1-aalais Royal - Musée du Louvre
    1-a:Louvre - Rivoli
    1-a:Châtelet
    1-a:Hôtel de Ville
    1-a:Saint-Paul
    1-a:Bastille
    1-a:Gare de Lyon
    1-a:Reuilly - Diderot
    1-a:Nation
    1-aorte de Vincennes
    1-a:Saint-Mandé
    1-a:Bérault
    1-a:Château de Vincennes

    #### 1-b:Château de Vincennes -- La Défense
    1-b:Château de Vincennes
    1-b:Bérault
    1-b:Saint-Mandé
    1-borte de Vincennes
    1-b:Nation
    1-b:Reuilly - Diderot
    1-b:Gare de Lyon
    1-b:Bastille
    1-b:Saint-Paul
    1-b:Hôtel de Ville
    1-b:Châtelet
    1-b:Louvre - Rivoli
    1-balais Royal - Musée du Louvre
    1-b:Tuileries
    1-b:Concorde
    1-b:Champs-Élysées - Clémenceau
    1-b:Franklin D. Roosevelt
    1-b:George V
    1-b:Charles de Gaulle - Étoile
    1-b:Argentine
    1-borte Maillot
    1-b:Les Sablons
    1-bont de Neuilly
    1-b:Esplanade de la Défense
    1-b:La Défense
    et je veux recuperer le num de ligne et son nom de la 1ere ligne, apres je met les autres lignes dans un arraylist.
    et quad je rencontre une ligne vide je recommence a nouveau.

  5. #5
    Membre éclairé Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Points : 773
    Points
    773
    Par défaut
    C'est pas vraiment très clair tout ça.

    D'abord si je ne me trompe pas, ta boucle est infinie, elle devrait plus ressembler à ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	String lignelue;
            while ((lignelue = entree.readLine()) != null)
            {
            //....
            }
    ainsi la boucle se terminera lorsque tu atteindras la fin du fichier, puisque readLine retourne null à la fin du fichier.

    quand tu dis numéro de la ligne, est-ce que tu veux parler des numéro au début de chaque ligne (1-a, 1-b ..)??

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    oui numero c'est bien ca, c'est pour ca je l'ai mis en string.
    et non ma boucle n'est pas infini le programme s'arrete a la fin du fichier.

Discussions similaires

  1. [Windows]lecture des fichier lnk (raccourcis)
    Par Tiaps dans le forum API standards et tierces
    Réponses: 10
    Dernier message: 21/10/2009, 19h27
  2. [jsp]lecture de fichier
    Par antigone dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 04/09/2003, 11h05
  3. [AS400][Intranet][PC] Lecture de "fichiers" AS400
    Par lando dans le forum Autres SGBD
    Réponses: 4
    Dernier message: 16/07/2003, 11h11
  4. Lecture de fichier
    Par Watcha dans le forum x86 16-bits
    Réponses: 13
    Dernier message: 04/03/2003, 20h43
  5. Lecture de fichiers ".WAV"...
    Par 0x4e84 dans le forum Langage
    Réponses: 2
    Dernier message: 03/09/2002, 09h43

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