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 .
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 .
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.
salut.
tu peut voir ici
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
et je veux recuperer le num de ligne et son nom de la 1ere ligne, apres je met les autres lignes dans un arraylist.#### 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 quad je rencontre une ligne vide je recommence a nouveau.
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
ainsi la boucle se terminera lorsque tu atteindras la fin du fichier, puisque readLine retourne null à la fin du fichier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 String lignelue; while ((lignelue = entree.readLine()) != null) { //.... }
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 ..)??
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.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager