Bonjour à tous,
J'aimerais savoir s'il était possible de lire un fichier ligne par ligne et en boucle, sans pour autant le refermer et le réouvrir à chaque fois?
Merci beaucoup.
Bonjour à tous,
J'aimerais savoir s'il était possible de lire un fichier ligne par ligne et en boucle, sans pour autant le refermer et le réouvrir à chaque fois?
Merci beaucoup.
Merci de consulter la FAQ:
http://java.developpez.com/faq/java/...eLigneParLigne
Je crois que ce qu'il demandait c'est si on pouvait garder le flux de lecture du fichier ouvert même si on est à la fin du fichier, ensuite un autre programme écrit dans le fichier, et cela fait une nouvelle ligne lue par le flux de lecture.
Il ne me semble pas que cela puisse fonctionner, il faut réouvrir le flux, ou sinon j'aurai pu optimiser mon programme qui fait la même chose(du polling)
C'est tout à fait possible de ne pas fermer le fichier. Par exemple pour simuler un "tail -f" :
Par contre bien sûr cela ne prend en compte que les modifs faite à la fin du fichier...
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 BufferedReader br = new BufferedReader(new FileReader("c:\\in.txt")); try { while (true) { // On lit le fichier ligne par ligne : String line; while ( (line=br.readLine()) != null ) { System.out.println(line); } // On attend que de nouvelles données soit lisibles : while ( !br.ready() ) { // Avec une pause pour éviter de faire une boucle active : Thread.sleep(100); } } } finally { br.close(); }
a++
j'ajouterais, que, de mémoire, sous windows, avec les lock automatique sur les fichiers ouvert, ça empechera à un autre process d'ouvrir le fichier en écriture...
Partager