В Java мы можем использовать Apache Commons IO ReversedLinesFileReader
для чтения последних нескольких строк файла
.
commons-io commons-io 2.6
1. Тестовые данные
Образец файла журнала сервера
a b c d 1 2 3 4 5
2. Прочитайте Последнюю Строку
2.1 Прочитайте последние 3 строки файла.
package com.mkyong.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) { Listlines = 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 IO
- Файлы Javadoc
- JAVADOCS с обратными линиями для чтения файлов
- Как прочитать файл в Java – BufferedReader
- Поток Java 8 – Чтение файла строка за строкой
Оригинал: “https://mkyong.com/java/java-how-to-read-last-few-lines-of-a-file/”