gzipファイルを扱う
Zlib::GzipWriterを使うと、Rubyでgzipファイルが作れます。
詳細は、ri Zlib::GzipWriterを参照してください。
require 'pathname' require 'zlib' Zlib::GzipWriter.open('rubyco.gz') do |f| 1000000.times do f.write "Hello!" end end p Pathname.new("rubyco.gz").size #=> 8779 # system("gunzip rubyco.gz") # p Pathname.new("rubyco").size #=> 6000000
同様に、Zlib::GzipReaderを使うと、gzipファイルを読むことができます。
require 'pathname' require 'zlib' Zlib::GzipWriter.open('rubyco.gz') do |f| 100.times do f.write "Hello!" end end p Pathname.new("rubyco.gz").size #=> 32 Zlib::GzipReader.open('rubyco.gz') do |f| print f.read end #=> Hello!Hello!Hello!...