class Zip::Reader
Overview
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
File.open("./file.zip") do |file|
Zip::Reader.open(file) do |zip|
zip.each_entry do |entry|
p entry.filename
p entry.file?
p entry.dir?
p entry.io.gets_to_end
end
end
end
Defined in:
zip/reader.crConstructors
-
.new(io : IO, sync_close = false)
Creates a new reader from the given io.
-
.new(filename : String)
Creates a new reader from the given filename.
Class Method Summary
-
.open(io : IO, sync_close = false, &block)
Creates a new reader from the given io, yields it to the given block, and closes it at the end.
-
.open(filename : String, &block)
Creates a new reader from the given filename, yields it to the given block, and closes it at the end.
Instance Method Summary
-
#close
Closes this zip reader.
-
#closed? : Bool
Returns
true
if this reader is closed. -
#each_entry(&block)
Yields each entry in the zip to the given block.
-
#next_entry : Entry?
Reads the next entry in the zip, or
nil
if there are no more entries. -
#sync_close=(sync_close)
Whether to close the enclosed
IO
when closing this reader. -
#sync_close? : Bool
Whether to close the enclosed
IO
when closing this reader.
Instance methods inherited from class Reference
==(other : self)==(other) ==, dup dup, hash hash, inspect(io : IO) : Nil inspect, object_id : UInt64 object_id, pretty_print(pp) : Nil pretty_print, same?(other : Reference)
same?(other : Nil) same?, to_s(io : IO) : Nil to_s
Constructor methods inherited from class Reference
new
new
Instance methods inherited from class Object
!=(other)
!=,
!~(other)
!~,
==(other)
==,
===(other : JSON::Any)===(other : YAML::Any)
===(other) ===, =~(other) =~, class class, dup dup, hash hash, inspect(io : IO)
inspect inspect, itself itself, not_nil! not_nil!, pretty_inspect(width = 79, newline = "\n", indent = 0) : String pretty_inspect, pretty_print(pp : PrettyPrint) : Nil pretty_print, tap(&block) tap, to_json(io : IO)
to_json to_json, to_pretty_json(indent : String = " ")
to_pretty_json(io : IO, indent : String = " ") to_pretty_json, to_s
to_s(io : IO) to_s, to_yaml(io : IO)
to_yaml to_yaml, try(&block) try, unsafe_as(type : T.class) forall T unsafe_as
Constructor methods inherited from class Object
from_json(string_or_io, root : String) : selffrom_json(string_or_io) : self from_json, from_yaml(string_or_io) : self from_yaml
Constructor Detail
Class Method Detail
Creates a new reader from the given io, yields it to the given block, and closes it at the end.
Creates a new reader from the given filename, yields it to the given block, and closes it at the end.
Instance Method Detail
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.)