class Zlib::GzipWriter

Zlib::GzipWriter ist eine Klasse zum Schreiben von gzippten Dateien. GzipWriter sollte mit einer Instanz von IO oder einem IO-ähnlichen Objekt verwendet werden.

Die folgenden beiden Beispiele erzeugen dasselbe Ergebnis.

Zlib::GzipWriter.open('hoge.gz') do |gz|
  gz.write 'jugemu jugemu gokou no surikire...'
end

File.open('hoge.gz', 'w') do |f|
  gz = Zlib::GzipWriter.new(f)
  gz.write 'jugemu jugemu gokou no surikire...'
  gz.close
end

Um wie gzip(1) zu verfahren, führen Sie Folgendes aus

orig = 'hoge.txt'
Zlib::GzipWriter.open('hoge.gz') do |gz|
  gz.mtime = File.mtime(orig)
  gz.orig_name = orig
  gz.write IO.binread(orig)
end

HINWEIS: Aufgrund der Einschränkung des Ruby-Finalizers müssen Sie GzipWriter-Objekte explizit über Zlib::GzipWriter#close usw. schließen. Andernfalls kann GzipWriter nicht den gzip-Footer schreiben und generiert eine beschädigte gzip-Datei.