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”gem 还是只使用“zip”?如果您需要某些东西,最好下次将其添加到问题中。在我看来,这个 gem 需要一些额外的文档和方法。这有效

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 回答