문제

XML 파일의 디렉토리 트리를 루비 지프 보석. 내 문제는 파일이 무거워지기 시작하고 압축 시간이 문제가되지 않기 때문에 압축 수준을 높이고 싶다는 것입니다.

나는 그것을 찾을 수 없었다 Rubyzip 문서 생성 된 zip 파일의 압축 레벨을 지정하는 방법.

이 설정을 변경하는 방법을 알고 있습니까? 압축 수준을 지정할 수있는 다른 루비 라이브러리가 있습니까?

도움이 되었습니까?

해결책

다음은 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 ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top