Ruby で zip 圧縮をする

必要なもの

zipruby をインストールする

# gem install zipruby

zlib1.dll を入手する(WindowsRuby のみ)

  • 入手先 zlib Home Site の zlib compiled DLL をダウンロードする。
    zlib compiled DLL, version 1.2.3 (2008年10月21日現在)
  • zlib1.dll を Ruby が保存しているディレクトリ下の bin ディレクトリに移動する。

サンプル

require 'rubygems'
require 'zipruby'

file_path = 'your_directory'     # ファイルが保存しているディレクトリ名

filename    = 'your_file.txt'  # zip 圧縮するファイル名
zipfilename = 'your_archive.zip' # zip 圧縮したファイル名

target_file_path = File.expand_path("#file_path}/#{filenamee}")   # zip 圧縮するファイルの絶対パス
zip_file_path    = File.expand_path("#file_path}/#{zipfilename}") # zip 圧縮したファイルの絶対パス

# zip 圧縮処理を開始
Zip::Archive.open(zip_file_path, Zip::CREATE) do |archive|
  archive.add_file(csv_file_path)
end