For bzip2, the linux command bzgrep (bzgrep linux command man page) can search inside a compressed file, so the open source code for that utility might yield ideas. I don’t think it can be line by line, but block by block; once you have the uncompressed block it would consist of lines you could read. I assume that is how bzgrep must work.
Dim f As FolderItem ' the gzip file to read
Dim stream As zlib.ZStream = zlib.ZStream.Open(f)
Do Until stream.EOF
Dim line As String = stream.ReadLine()
Loop
stream.Close
I also have an open source wrapper for bzip2. I didn’t include the ReadLine method, but it could be copied from the zlib wrapper with a few minor changes (both wrappers use the same fundamental code for streaming decompression.)