Как найти конкретную запись в заархивированном каталоге, используя гем rubyzip? - PullRequest
0 голосов
/ 05 декабря 2009

У меня есть zip-файл с именем test.zip, который содержит каталог с именем invoice. Внутри каталога счетов есть документы с разными именами. Я хотел бы найти конкретный документ с именем summary.txt, который находится в каталоге счетов.

Я могу получить дескриптор test.zip, используя следующее:

zip = Zip::ZipFile.open("/path/to/test.zip")

но когда я использую

zip.find_entry("summary.txt")

Я получаю ноль.

С другой стороны, если summary.txt находится не в каталоге invoices, а скорее в корне самого zip-файла, метод find_entry, как описано выше, похоже, работает.

Похоже, мне нужно как-то перейти в каталог счетов, прежде чем искать summary.txt.

Это правильно? Если да, то как мне это сделать? Если нет, то что я делаю не так.

1 Ответ

1 голос
/ 05 декабря 2009

Вам необходимо указать полный путь к файлу:

zip.find_entry 'invoices/summary.txt'
...