module Zip::FileSystem

The ZipFileSystem API provides an API for accessing entries in a zip archive that is similar to ruby’s builtin File and Dir classes.

Requiring ‘zip/filesystem’ includes this module in Zip::File making the methods in this module available on Zip::File objects.

Using this API the following example creates a new zip file my.zip containing a normal entry with the name first.txt, a directory entry named mydir and finally another normal entry named second.txt

“‘ require ’zip/filesystem’

Zip::File.open(‘my.zip’, create: true) do |zipfile|

zipfile.file.open('first.txt', 'w') { |f| f.puts 'Hello world' }
zipfile.dir.mkdir('mydir')
zipfile.file.open('mydir/second.txt', 'w') { |f| f.puts 'Hello again' }

end “‘

Reading is as easy as writing, as the following example shows. The example writes the contents of first.txt from zip archive my.zip to standard out.

“‘ require ’zip/filesystem’

Zip::File.open(‘my.zip’) do |zipfile|

puts zipfile.file.read('first.txt')

end “‘