class Compress::Zip::Reader
inherits Reference
¶
Reads zip file entries sequentially from an IO
.
Note
Entries might not have correct values
for crc32, compressed_size, uncompressed_size and comment,
because when reading a zip file directly from a stream this
information might be stored later in the zip stream.
If you need this information, consider using Zip::File
.
Example¶
require "compress/zip"
Compress::Zip::Reader.open("./file.zip") do |zip|
zip.each_entry do |entry|
p entry.filename
p entry.file?
p entry.dir?
p entry.io.gets_to_end
end
end
Class methods¶
.open(io : IO, sync_close = false
¶
(io : IO, sync_close = false
Creates a new reader from the given io, yields it to the given block, and closes it at the end.
.open(filename : String
¶
(filename : String
Creates a new reader from the given filename, yields it to the given block, and closes it at the end.
Methods¶
#next_entry : Entry?
¶
: Entry?
Reads the next entry in the zip, or nil
if there
are no more entries.
After reading a next entry, previous entries can no
longer be read (their IO
will be closed.)