Zlib::GzipReader is the class for reading a gzipped file. GzipReader should be used an IO, or -IO-like, object.
Zlib::GzipReader.open('hoge.gz') {|gz| print gz.read } File.open('hoge.gz') do |f| gz = Zlib::GzipReader.new(f) print gz.read gz.close end
Method Catalogue
The following methods in Zlib::GzipReader are just like their counterparts in IO, but they raise Zlib::Error or Zlib::GzipFile::Error exception if an error was found in the gzip file.
Be careful of the footer of the gzip file. A gzip file has the checksum of
pre-compressed data in its footer. GzipReader
checks all uncompressed data against that checksum at the following cases,
and if it fails, raises Zlib::GzipFile::NoFooter
,
Zlib::GzipFile::CRCError
, or
Zlib::GzipFile::LengthError
exception.
-
When an reading request is received beyond the end of file (the end of compressed data). That is, when #read, #gets, or some other methods for reading returns nil.
-
When Zlib::GzipFile#close method is called after the object reaches the end of file.
-
When #unused method is called after the object reaches the end of file.
The rest of the methods are adequately described in their own documentation.