class Compress::Zip::File
Overview
Provides random read access to zip file entries stores inside
a File
or an IO::Memory
.
Example
require "compress/zip"
Compress::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:
compress/zip/file.crConstructors
-
.new(io : IO, sync_close : Bool = false)
Opens a
Zip::File
for reading from the given io. -
.new(filename : Path | String)
Opens a
Zip::File
for reading from the given filename.
Class Method Summary
-
.open(io : IO, sync_close = false, &)
Opens a
Zip::File
for reading from the given io, yields it to the given block, and closes it at the end. -
.open(filename : Path | String, &)
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 : Path | String) : Entry
Returns the entry that has the given filename, or raises
KeyError
if no such entry exists. -
#[]?(filename : Path | String) : Entry | Nil
Returns the entry that has the given filename, or
nil
if no such entry exists. -
#close : Nil
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 : JSON::Any)
==(other : YAML::Any)
==(other) ==, dup dup, hash(hasher) hash, initialize initialize, inspect(io : IO) : Nil inspect, object_id : UInt64 object_id, pretty_print(pp) : Nil pretty_print, same?(other : Reference) : Bool
same?(other : Nil) same?, to_s(io : IO) : Nil to_s
Constructor methods inherited from class Reference
new
new,
unsafe_construct(address : Pointer, *args, **opts) : self
unsafe_construct
Class methods inherited from class Reference
pre_initialize(address : Pointer)
pre_initialize
Instance methods inherited from class Object
! : Bool
!,
!=(other)
!=,
!~(other)
!~,
==(other)
==,
===(other : JSON::Any)===(other : YAML::Any)
===(other) ===, =~(other) =~, as(type : Class) as, as?(type : Class) as?, class class, dup dup, hash(hasher)
hash hash, in?(collection : Object) : Bool
in?(*values : Object) : Bool in?, inspect(io : IO) : Nil
inspect : String inspect, is_a?(type : Class) : Bool is_a?, itself itself, nil? : Bool nil?, not_nil!(message)
not_nil! not_nil!, pretty_inspect(width = 79, newline = "\n", indent = 0) : String pretty_inspect, pretty_print(pp : PrettyPrint) : Nil pretty_print, responds_to?(name : Symbol) : Bool responds_to?, tap(&) tap, to_json(io : IO) : Nil
to_json : String to_json, to_pretty_json(indent : String = " ") : String
to_pretty_json(io : IO, indent : String = " ") : Nil to_pretty_json, to_s(io : IO) : Nil
to_s : String to_s, to_yaml(io : IO) : Nil
to_yaml : String to_yaml, try(&) try, unsafe_as(type : T.class) forall T unsafe_as
Class methods inherited from class Object
from_json(string_or_io, root : String)from_json(string_or_io) from_json, from_yaml(string_or_io : String | IO) from_yaml
Macros inherited from class Object
class_getter(*names, &block)
class_getter,
class_getter!(*names)
class_getter!,
class_getter?(*names, &block)
class_getter?,
class_property(*names, &block)
class_property,
class_property!(*names)
class_property!,
class_property?(*names, &block)
class_property?,
class_setter(*names)
class_setter,
def_clone
def_clone,
def_equals(*fields)
def_equals,
def_equals_and_hash(*fields)
def_equals_and_hash,
def_hash(*fields)
def_hash,
delegate(*methods, to object)
delegate,
forward_missing_to(delegate)
forward_missing_to,
getter(*names, &block)
getter,
getter!(*names)
getter!,
getter?(*names, &block)
getter?,
property(*names, &block)
property,
property!(*names)
property!,
property?(*names, &block)
property?,
setter(*names)
setter
Constructor Detail
Opens a Zip::File
for reading from the given io.
Opens a Zip::File
for reading from the given filename.
Class Method Detail
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.