Подскажите пожалуйста, нужно прочитать последнюю строку в тхт файле.. Нашел такой пример, но он не выводит юникод(вместо него кракозябры), можно этот код как-то подправить, или подскажите другое решение?
private static String ReadLastLine(File file) throws FileNotFoundException, IOException {
String result = null;
try (RandomAccessFile raf = new RandomAccessFile(file, "r")) {
long startIdx = file.length();
while (startIdx >= 0 && (result == null || result.length() == 0)) {
raf.seek(startIdx);
if (startIdx > 0)
raf.readLine();
result = raf.readLine();
startIdx--;
}
}
return result;
}
String current, last = null;
BufferedReader bufferedReader = new BufferedReader(new FileReader("/file"));
while ((current = bufferedReader.readLine()) != null) {
last = current;
}
System.out.println(last);//result
В apache commons-io есть ReversedLinesFileReader. Он читает файл снизу вверх, соответственно вам достаточно прочитать только первую строку:
private static String readLastLine(File file) throws IOException {
ReversedLinesFileReader fr = new ReversedLinesFileReader(file);
String result = fr.readLine();
fr.close();
return result;
}
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости