首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rubyzip文件顺序

rubyzip文件顺序
EN

Stack Overflow用户
提问于 2011-06-10 05:39:53
回答 1查看 543关注 0票数 0

我正在为一个目录创建一个归档文件,其中每个文件都有一个从001到049的3位数字的名称。我的代码如下:

代码语言:javascript
复制
Zip::ZipFile.open(File.join(out, dir+".cbz"), Zip::ZipFile::CREATE) {
  |zipfile|
  Dir.glob(File.join(dir, "*")).sort.each {
    |file|
    puts "add file #{file}"
    zipfile.add(File.basename(file),file)
  }
}

添加文件时,我向puts验证了它们是按数字升序添加的。但是当我尝试用zip解压它们时,我发现它们是以一个随机的顺序解压的(例如。045,002,...)。

如何确保它们按数字顺序解压缩?

编辑:使用十六进制编辑器查看生成的压缩文件,可以看到图像的添加顺序并不合理,而是按照它们在中心目录中的显示顺序(压缩文件末尾的块)通过unzip提取出来的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-12 05:47:21

我已经追踪到rubyzip库中的一个问题,在将条目数组写入中央目录之前,没有对其进行排序,但unzip依赖于此顺序。

Fixed和sent a pull request upstream.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6299646

复制
相关文章

相似问题

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