Я делаю архив для каталога, где у каждого файла есть имя из 3 цифр, начиная с 001 до 049. Мой код следующий:
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, ...).
Как я могу убедиться, что они распаковываются в порядке номеров?
Изменить: просмотр созданного zip-файла с помощью шестнадцатеричного редактора показывает, что изображения добавляются в произвольном порядке, но что они извлекаются через unzip
в том порядке, в котором они присутствуют в центральном каталоге (блок в конце zip файл).