0

渡したファイルを圧縮する方法があります。

require 'zip/zip'
def zipup(aname, aloc="/tmp/")
      Zip::ZipFile.open "#{aloc}"+File.basename(aname)+".zip", Zip::ZipFile::CREATE do |zipfile|
       zipfile.add File.basename(aname), aname
      end
end

このメソッドから、圧縮されたすべてのファイルのarchive.zip名を持つ文字列オブジェクトまたは配列オブジェクトを取得する必要があります。

構文を正しく取得できませんでしたが、rubyzipにはto_sメソッドがあります。

http://rubyzip.sourceforge.net/classes/Zip/ZipEntry.html#M000131

新しいルビイストからの感謝。

4

1 に答える 1

1

ようこそジョーイ、あなたは「zip / zip」宝石を使用しますか、それとも単に「zip」を使用しますか?何かが必要な場合は、次回質問に追加することをお勧めします。この宝石には、私にはいくつかの追加のドキュメントとメソッドが必要です。これは動作します

require 'zip' #or 'zip/zip' both work

def zip_list(filename)
  zipfile = Zip::ZipFile.open(filename)
  list = []
  zipfile.each { |entry| list << entry.name }
  list
end

puts zip_list("c:/temp/zip1.zip")

別の方法

require 'zip/zip'

Zip::ZipFile.open("c:/temp/zip1.rb.zip") do |zipfile|
  zipfile.entries.each do |entry|
    puts entry.name
  end
end
于 2012-07-28T10:53:11.513 に答える