[英]Set compression level when generating a ZIP file using RubyZip
我有一个Ruby程序,它使用rubyzip gem来压缩 XML文件的目录树。 我的问题是文件开始很重,我想提高压缩级别,因为压缩时间不是问题。
我在rubyzip文档中找不到为创建的ZIP文件指定压缩级别的方法。
有谁知道如何更改此设置? 是否有另一个允许指定压缩级别的Ruby库?
这是我通过查看rubyzip内部创建的代码。
level = Zlib::BEST_COMPRESSION
Zip::ZipOutputStream.open(zip_file) do |zip|
Dir.glob("**/*") do |filename|
entry = Zip::ZipEntry.new("", filename)
entry.gather_fileinfo_from_srcpath(filename)
zip.put_next_entry(entry, nil, nil, Zip::ZipEntry::DEFLATED, level)
entry.get_input_stream { |is| IOExtras.copy_stream(zip, is) }
end
end
你可能会通过调用'zip'程序或不做拉链的方式获得更好的牵引力。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.