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.
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(); }
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