Чтение последних * n * строк из GZIPInputStream - PullRequest
1 голос
/ 04 ноября 2011

Я читаю огромный текстовый файл внутри zip.

GZIPInputStream fstream = new GZIPInputStream(new FileInputStream(zipfile));
BufferedReader breader = new BufferedReader(new InputStreamReader(fstream));

Мне нужно прочитать последние n строк файла.

Возможно лисделать это без readline до eof?

Ответы [ 2 ]

4 голосов
/ 04 ноября 2011

Возможно ли это сделать без readline до конца?

Нет и хорошо по следующим двум причинам:

  1. Вы не можете прочитать поток в обратном направлении.
  2. Вы не можете удалить (g) zip в обратном направлении.

Просто прочитайте весь поток, в котором вы игнорируете строки, которые вас не интересуют.

0 голосов
/ 04 ноября 2011

Если вы можете обработать этот файл через RandomAccessFile

Это должно вам помочь.

Java: чтение последних n строк ОГРОМНОГО файла

...