Самый простой способ сделать это - просто перебрать строки в файле и остановиться, когда вы дойдете до конца. Например:
// I assume this is disposed properly etc
private static String getLastLine(BufferedReader reader) throws IOException {
String line = null;
String nextLine;
while ((nextLine = reader.readLine()) != null) {
line = nextLine;
}
return line;
}
Это вернет ноль для пустого читателя.
Если я не знал, что мне придется читать действительно большой файл, это то, что я буду делать. Попытка сделать это, перейдя прямо к последней строке, hard . Действительно сложно, особенно если вам нужна кодировка переменной ширины, такая как UTF-8.