gpt4 book ai didi

ruby - 使用 RubyZip 生成 ZIP 文件时设置压缩级别

转载 作者:数据小太阳 更新时间:2023-10-29 07:14:02 24 4
gpt4 key购买 nike

我有一个 Ruby 程序,它使用 rubyzip 压缩 XML 文件的目录树。 gem 。我的问题是文件开始变得很重,我想提高压缩级别,因为压缩时间不是问题。

我在 rubyzip documentation 中找不到一种为创建的 ZIP 文件指定压缩级别的方法。

有人知道如何更改此设置吗?是否有另一个允许指定压缩级别的 Ruby 库?

最佳答案

这是我通过查看 ruby​​zip 内部创建的代码。

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 - 使用 RubyZip 生成 ZIP 文件时设置压缩级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2471407/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com