Bonjour,
Je souhaite récupérer la dernière ligne non vide d'un fichier texte :
Voilà comment j'ai fait :
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 
File fichier = new File("c:\\fichier.txt");
		RandomAccessFile buffer = null;
		try {
			buffer = new RandomAccessFile(fichier, "r");
			long fileLength = fichier.length() - 1;
			StringBuilder sb = new StringBuilder();
 
			for (long filePointer = fileLength; filePointer != -1; filePointer--) {
				buffer.seek(filePointer);
				int readByte = buffer.readByte();
 
				if (readByte == 0xA) {
					if (filePointer == fileLength) {
						continue;
					} else {
						break;
					}
				} else if (readByte == 0xD) {
					if (filePointer == fileLength - 1) {
						continue;
					} else {
						break;
					}
				}
 
				sb.append((char) readByte);
			}
 
			String lastLine = sb.reverse().toString();
			System.out.println(lastLine);
		} catch (FileNotFoundException e) {
			System.out.println("Le fichier est introuvable");
		} catch (IOException e) {
			System.out.println();
			System.out.println("Impossible de le lire le fichier");
		} finally {
			try {
				if (buffer != null)
					buffer.close();
			} catch (IOException ex) {
				System.out.println("Impossible de fermer le fichier");
			}
		}
	}
Le problème c'est que si je rajoute volontairement des lignes vides à la fin, je n'arrive plus à récupérer ma dernière ligne non vide.
Merci pour votre aide.