首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RubyZip:归档进程指示

RubyZip:归档进程指示
EN

Stack Overflow用户
提问于 2011-07-01 19:03:20
回答 1查看 130关注 0票数 1

我正在向我的归档文件中添加大量的文件,它看起来像这样:

代码语言:javascript
复制
print "Starting ..."
Zip::ZipFile.open(myarchive, 'w') do |zipfile|
  my_tons_of_files.each do |file|
    print "Adding #{file.filename} to archive ... \r"
    # ...
  end
  print "\n Saving archive"
  # !!! -> waiting about 10-15 minutes
  # but I want to show the percentage of completed job
end

在将所有文件添加到我的存档中后,它会开始压缩所有文件(大约10-15分钟)。

我如何才能指出rubyzip gem的实际情况(实际上我想要像current_file_number/total_files_count一样显示百分比)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-02 01:31:42

您可以覆盖Zip::ZipFile.commit:

代码语言:javascript
复制
require 'zip'
require 'zip/zipfilesystem'

module Zip
class ZipFile

    def commit
     return if ! commit_required?
      on_success_replace(name) {
        |tmpFile|
        ZipOutputStream.open(tmpFile) {
          |zos|

          total_files = @entrySet.length
          current_files = 1
          @entrySet.each do |e|
             puts "Current file: #{current_files}, Total files: #{total_files}"
             current_files += 1
             e.write_to_zip_output_stream(zos)
          end
          zos.comment = comment
        }
        true
      }
      initialize(name)
    end

end
end

print "Starting ..."
Zip::ZipFile.open(myarchive, 'w') do |zipfile|
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6547112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档