从GZIPInputStream读取Last * n *行

时间:2011-11-04 18:39:52

标签: java gzip gzipinputstream

我正在zip中读取一个巨大的txt文件。

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

我需要阅读文件的最后 n行。

在eof之前没有readline可以做到吗?

2 个答案:

答案 0 :(得分:4)

  

是否可以在没有readline的情况下直到eof?

不好,由于以下两个原因:

  1. 您无法向后阅读流。
  2. 你不能向后拉(g)拉链。
  3. 只需阅读您忽略您不感兴趣的行的整个流。

答案 1 :(得分:-2)

如果您可以通过RandomAccessFile处理该文件

这应该对你有帮助。

Java : Read last n lines of a HUGE file