Содержание
В Java мы можем использовать Apache Commons IO ReversedLinesFileReader
читать последние несколько строк File
,
pom.xml
commons-io
commons-io
2.6
1. Данные испытаний
Пример файла журнала сервера
д: //server.log
a
b
c
d
1
2
3
4
5
2. Прочитайте последнюю строку
2.1 Прочитайте последние 3 строки файла.
TestReadLastLine.java
package com.csharpcoderr.io;
import org.apache.commons.io.input.ReversedLinesFileReader;
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
public class TestReadLastLine {
public static void main(String[] args) {
List lines = readLastLine(new File("D:\server.log"), 3);
lines.forEach(x -> System.out.println(x));
}
public static List readLastLine(File file, int numLastLineToRead) {
List result = new ArrayList<>();
try (ReversedLinesFileReader reader = new ReversedLinesFileReader(file, StandardCharsets.UTF_8)) {
String line = "";
while ((line = reader.readLine()) != null && result.size() < numLastLineToRead) {
result.add(line);
}
} catch (IOException e) {
e.printStackTrace();
}
return result;
}
}
Выход
5
4
3
Рекомендации
- Apache Commons IO
- Файлы JavaDocs
- ReversedLinesFileReader JavaDocs
- Как читать файл в Java - BufferedReader
- Java 8 Stream - чтение файла построчно
0.00 (0%) 0 votes