zipを展開するサンプル
rubyzipを使ってzipアーカイブを展開するサンプルです。
require 'rubygems' require 'zip/zip' #===zipファイルを展開する。 #zip:: zipファイル #dest:: 展開先ディレクトリ def extract( zip, dest ) FileUtils.makedirs(dest) Zip::ZipFile.foreach(zip) {|entry| if entry.file? FileUtils.makedirs("#{dest}/#{File.dirname(entry.name)}") entry.get_input_stream {|io| open( "#{dest}/#{entry.name}", "w" ) {|w| while ( bytes = io.read(1024)) w.write bytes end } } else FileUtils.makedirs("#{dest}/#{entry.name}") end } end #zipを展開する extract( "./guice-2.0.zip", "./dst" )
rubyzipはgem経由でインストール可能です。
$ gem install rubyzip