Bonjour,
Une petite question :
Comment puis-je faire simplement pour lire un fichier en commençant par la fin ?
Par exemple, je veux faire afficher les 50 dernières lignes d'un fichier donné...
Merci pour votre aide.
Bonjour,
Une petite question :
Comment puis-je faire simplement pour lire un fichier en commençant par la fin ?
Par exemple, je veux faire afficher les 50 dernières lignes d'un fichier donné...
Merci pour votre aide.
Nous sommes tous semblables, alors acceptons nos différences !
--------------------------------------------------------------
Liens : Blog | Page DVP | Twitter
Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
Critiques : Apache Maven
Bon, finalement j'ai trouvé une solution avec le RandomAccessFile.
Voici en gros mon code, qui peut être amélioré, je me doute bien
Je mets résolu à mon sujet, mais si vous avez des améliorations à me soumettre, je suis tout ouïe.
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 try { StringBuffer content = new StringBuffer(); File file = new File(filename); RandomAccessFile raf = new RandomAccessFile(file, "r"); long position = file.length(); int code; // max est le nombre maximum de lignes à lire... while ((--position >= 0) && (max >= 0)) { raf.seek(position); code = raf.readByte(); // Teste si on a affaire à un saut à la ligne. if ((code == 13) || (code == 10)) { raf.seek(position - 1); int nextCode = raf.readByte(); if (((code == 13) && (nextCode == 10)) || ((code == 10) && (nextCode == 13))) { position--; if (max-- == 0) { break; } } } content.insert(0, (char) code); } } catch (Exception e) { e.printStackTrace(); }
Nous sommes tous semblables, alors acceptons nos différences !
--------------------------------------------------------------
Liens : Blog | Page DVP | Twitter
Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
Critiques : Apache Maven
Partager