我有拉链的使用rubyzip宝石XML文件的目录树一个Ruby程序的ZIP文件时,设置压缩级别。我的问题是,文件开始变得沉重,我想增加压缩级别,因为压缩时间不是问题。生成使用RubyZip
我不能在rubyzip documentation找到一种方法来指定创建ZIP文件的压缩级别。
任何人都知道如何更改此设置?是否有另一个Ruby库允许指定压缩级别?
我有拉链的使用rubyzip宝石XML文件的目录树一个Ruby程序的ZIP文件时,设置压缩级别。我的问题是,文件开始变得沉重,我想增加压缩级别,因为压缩时间不是问题。生成使用RubyZip
我不能在rubyzip documentation找到一种方法来指定创建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
你可能会被调出的“拉链”的程序或什么都不做的压缩和解获得更好的牵引力。
此程序旨在运行在许多平台上。我不想强制用户指定其压缩程序以及如何使用它。我更喜欢Ruby解决方案。谢谢 – 2010-03-18 17:15:56
潜入源可能是您唯一的选择。 – rogerdpack 2010-03-26 22:09:15