class Zip::File
Overview
Provides random read access to zip file entries stores inside
a File
or an IO::Memory
.
Example
Zip::File.open("./file.zip") do |file|
# Iterate through all entries printing their filename and contents
file.entries.each do |entry|
p entry.filename
entry.open do |io|
p io.gets_to_end
end
end
# Random access to entries by filename is also provided
entry = file["some_file.txt"]
entry.open do |io|
p io.gets_to_end
end
end
Defined in:
zip/file.crClass Method Summary
-
.new(io : ::File | IO::Memory, sync_close = false)
Opens a
Zip::File
for reading from the given io. -
.new(filename : String)
Opens a
Zip::File
for reading from the given filename. -
.open(io : IO, sync_close = false, &block)
Opens a
Zip::File
for reading from the given io, yields it to the given block, and closes it at the end. -
.open(filename : String, &block)
Opens a
Zip::File
for reading from the given filename, yields it to the given block, and closes it at the end.
Instance Method Summary
-
#[](filename : String) : Entry
Returns the entry that has the given filename, or raises
KeyError
if no such entry exists. -
#[]?(filename : String) : Entry?
Returns the entry that has the given filename, or
nil
if no such entry exists. -
#close
Closes this zip file.
-
#closed? : Bool
Returns
true
if this zip file is closed. -
#comment : String
Returns the zip file comment.
-
#entries : Array(Entry)
Returns all entries inside this zip file.
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
Class 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
Class 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
Class Method Detail
Opens a Zip::File
for reading from the given io.
Opens a Zip::File
for reading from the given filename.
Opens a Zip::File
for reading from the given io, yields
it to the given block, and closes it at the end.
Opens a Zip::File
for reading from the given filename, yields
it to the given block, and closes it at the end.
Instance Method Detail
Returns the entry that has the given filename, or
raises KeyError
if no such entry exists.
Returns the entry that has the given filename, or
nil
if no such entry exists.