Forum Programmation.java Lire proprement la dernière ligne d'un fichier

Posté par .
Tags : aucun
1
2
sept.
2008
Une question bête de plus :
Je veux lire la dernière ligne d'un fichier texte et rien que la dernière ligne ?
Y a t'il moyen de positionner mon Reader directement à la dernière ligne ? ( Je veux dire sans faire un while qui lit tout le fichier)

Question bonus, ce fichier grandit régulièrement,
La dernière ligne deviens donc au fil du temps la ligne dernière-1 -2 -n etc...
Est ce que si je veux par exemple 10 seconde plus tard relire la dernière ligne du fichier, il faut que je réouvre le fichier ou bien je peux garder mon Reader ouvert et ressauter à la dernière ligne ?

BonusBonus
Et si ce fichier texte est lu à travers une URLConnection

Merci
  • # En shell ça s'écrit

    Posté par (page perso) . Évalué à 10.

    tail -n1 -f <nom_fichier>

    Ok je -->[]
  • # RandomAccessFile

    Posté par (page perso) . Évalué à 4.

    Si tu lis un fichier classique, le plus simple consiste à utiliser java.io.RandomAccessFile, faire un seek pour te positionner à la fin du fichier et rechercher les retour-charriots en lisant les caractères à rebours. La dernière ligne est constituée par tout ce que tu as lu jusque là (à l'envers).

    À travers une URLConnection, tu n'as que des streams à disposition. Dans ce cas tu n'as pas le choix, il faut tout lire. Toutefois la méthode java.io.BufferedReader.readLine() simplifie grandement le code.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.