繁体   English   中英

使用Rubyzip压缩现有文件

[英]Zipping an existing file with Rubyzip

我想使用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中。 谢谢你的帮助

这将读取源文件,并将其一次写入1mb。

我已经在生产中使用非常相似的东西了一段时间。

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

希望这能回答您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM