У меня есть файл в формате .gz. Класс java для чтения этого файла - GZIPInputStream. Тем не менее, этот класс не расширяет класс BufferedReader java. В результате я не могу прочитать файл по строкам. Мне нужно что-то вроде этого
reader  = new MyGZInputStream( some constructor of GZInputStream) 
reader.readLine()...
Я, хотя и создаю свой класс, который расширяет класс чтения или BufferedReader java и использует GZIPInputStream как одну из его переменных.
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.Reader;
import java.util.zip.GZIPInputStream;
public class MyGZFilReader extends Reader {
    private GZIPInputStream gzipInputStream = null;
    char[] buf = new char[1024];
    @Override
    public void close() throws IOException {
        gzipInputStream.close();
    }
    public MyGZFilReader(String filename)
               throws FileNotFoundException, IOException {
        gzipInputStream = new GZIPInputStream(new FileInputStream(filename));
    }
    @Override
    public int read(char[] cbuf, int off, int len) throws IOException {
        // TODO Auto-generated method stub
        return gzipInputStream.read((byte[])buf, off, len);
    }
}
Но это не работает, когда я использую
BufferedReader in = new BufferedReader(
    new MyGZFilReader("F:/gawiki-20090614-stub-meta-history.xml.gz"));
System.out.println(in.readLine());
Может кто-нибудь посоветует, как действовать дальше.