Lire un fichier sous java

Fermé
gigabit32 Messages postés 5 Date d'inscription mardi 15 juin 2010 Statut Membre Dernière intervention 26 août 2010 - Modifié par gigabit32 le 15/06/2010 à 11:49
gigabit32 Messages postés 5 Date d'inscription mardi 15 juin 2010 Statut Membre Dernière intervention 26 août 2010 - 15 juin 2010 à 12:31
Bonjour,

J'ai le code suivants écrit en Java:(le code permet de lire la première ligne depuis le fichier test.txt)

je veux que ce programme à la prochaine exécution lit la deuxième ligne .




import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;


public class test {


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


FileReader monfichier = null;
BufferedReader tampon = null;



monfichier = new FileReader("C:\\test.txt");
tampon = new BufferedReader(monfichier);

String ligne = tampon.readLine();
System.out.println(ligne);


}
}



Merci d'avance de votre aide.

A voir également:

1 réponse

Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 2 327
15 juin 2010 à 11:48
Visiblement ça ça lit bien plus qu'une seule ligne. En fait ça n'arrête jamais de lire des lignes. Même quand il n'y a plus rien à lire. Donc j'imagine que ça se termine sur une belle IOException.
1
gigabit32 Messages postés 5 Date d'inscription mardi 15 juin 2010 Statut Membre Dernière intervention 26 août 2010
Modifié par gigabit32 le 15/06/2010 à 11:56
En fait j'ai rectifier le code, donc le programme lit la première ligne et l'affiche,mais je veux qu'il à la prochaine execution la deuxième ligne.Donc je me demande s'il y a une astuce à faire pour faire celà.
0
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 2 327
15 juin 2010 à 12:03
En passant le numéro de ligne comme argument, ça marche.
Sinon je ne vois pas.

Je pense que les pointeurs de fichiers sont réinitialisés à chaque construction d'un FileReader. Il y a peut-être moyen d'éviter ça explicitement mais je doute que ce soit une bonne solution. Si ça se trouve entre deux exécutions un autre programme a modifié le pointeur du fichier. Ce n'est pas très propre.
0
gigabit32 Messages postés 5 Date d'inscription mardi 15 juin 2010 Statut Membre Dernière intervention 26 août 2010
15 juin 2010 à 12:25
Non je croix pas que la méthode readLigne() accepte comme argument un entier.
0
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 2 327
Modifié par Yoan le 15/06/2010 à 12:29
Un argument à ton programme, pas à la fonction :)

Ton programme récupères le numéro de ligne à lire, par exemple pour lire la ligne n°5 :
$ ./monProgramme 5

Il fait ensuite une boucle pour faire 5 readLine() et il ne garde que la dernière.
0
gigabit32 Messages postés 5 Date d'inscription mardi 15 juin 2010 Statut Membre Dernière intervention 26 août 2010
15 juin 2010 à 12:31
Ok Merci Mr Yoan je vais chercher dans ce sens .
0