12.11. Czytanie i zapisywanie plików ZIP

Problem

Chcemy utworzyć lub przeanalizować archiwum ZIP z poziomu kodu w języku Ruby.

Rozwiązanie

Można skorzystać z gemu rubyzip. Moduł Zip wchodzący w jego skład zapewnia kilka sposobów zapisywania plików do archiwów ZIP i odczytywania ich stamtąd. Najprostszym interfejsem jest Zip::ZipFileSystem, który dubluje większość operacji klas File i Dir w kontekście pliku ZIP. Aby utworzyć plik ZIP, można wykorzystać następujący kod:

require 'rubygems' require 'zip/zipfilesystem' Zip::ZipFile.open('zipfile.zip', Zip::ZipFile::CREATE) do |zip| zip.file.open('plik1', 'w') { |f1| f1 << 'To jest plik nr 1.' } zip.dir.mkdir('podkatalog') zip. file. open ('podkatalog/plik2', 'w') { |f1| f1 << 'To jest plik ...

Get Ruby. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.