Как узнать имена файлов в архиве (zip или rar)?
Добрйы день! Программа должна обрабатывать файлы XLS, которые находятся в архивах (zip или rar). Для Разахивации использую командную строку. Если архив содержит один файл и его имя совпадает с именем архива, то проблем нет. Но иногда попадаются архивы содержащие несколько файлов. Разархивировать их я конечно могу, но как узнать имена файлов, для дальнейшей обработки?
+ Самый простой вариант
- Слишком медленный
2. Найти доки по внутренней структуре ZIP и RAR и по ним сделать функцию, которая будет выдирать из архивов имена файлов.
+ Самый быстрый вариант
- Надо изучать структуру. Довольно долго.
Сейчас я как раз использую первый вариант, но он меня не устраивает именно в силу своей медленности. Честно говоря, я надеялся что есть какие то более простые способы. Наверняка не только у меня была такая проблема.
Проще будет заюзать Unrar.dll -
Сейчас я как раз использую первый вариант, но он меня не устраивает именно в силу своей медленности. Честно говоря, я надеялся что есть какие то более простые способы. Наверняка не только у меня была такая проблема.[/QUOTE]
Если тебе нужны только имена файлов, то читать можно прямо сами архивы, без их извлечения.Тебе не нужно будет знать алгоритмы сжатия. Нужно только знать их внутреннюю структуру, которая, между прочим, не сложная.
Вот тебе спецификации форматов ZIP и RAR(по-английски)
Думаю, что в моем случае проще всего будет воспользоваться советом Madjahed.