我想使用rubyzip存档“zip”现有文件:
C:\ TextFile.txt的
到
textfile.zip
我知道如何将流添加到文本文件中:
require 'zip/zip'
Zip::ZipFile.open("mp.zip", Zip::ZipFile::CREATE) {
|zipfile|
zipfile.get_output_stream("text.txt") { |f| f.puts "Creating text file" }
}
但不是如何将现有文件添加到zip中。谢谢你的帮助
答案 0 :(得分:1)
这将读取源文件并将其一次写入1mb到zipfile。
我已经在生产中使用了一些非常相似的东西。
require 'zip/zip'
Zip::ZipFile.open("mp.zip", Zip::ZipFile::CREATE) do |zipfile|
zipfile.get_output_stream("text.txt") do |out_file|
File.open("text.txt") do |in_file|
while blk = in_file.read(1024**2)
out_file << blk
end
end
end
end
希望这能回答你的问题。