Всем доброго времени суток!
Внезапно возникла задача читать тестовый файл, находящийся внутри обычного zip-архива, желательно без распаковки оного в отдельную папку. Возможно ли это в принципе, и если да, то каким образом? Как это реализовано в архиваторах типа WinRAR или 7zip? Возможно, они всё же скрыто разархивируют архив в какую-нибудь папку?
Чтение файлов внутри zip-архива
Модератор: Модераторы
-
wwswowsogon
- постоялец
- Сообщения: 157
- Зарегистрирован: 23.12.2008 19:41:37
Возможно.
Посмотрите на модули ziputils, unzip. zlib В зависимостях.
В атачменте набросок из старого проекта как пример работы, но, на мой взгляд, если такой вопрос у Вас возник, то проще воспользоваться чем-то вроде ZipForge (но он стоит денег).
Посмотрите на модули ziputils, unzip. zlib В зависимостях.
В атачменте набросок из старого проекта как пример работы, но, на мой взгляд, если такой вопрос у Вас возник, то проще воспользоваться чем-то вроде ZipForge (но он стоит денег).
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось wavebvg 31.03.2022 16:33:53, всего редактировалось 1 раз.
Емнип TUnZipper из модуля Zipper умел извлекать из архива отдельные файлы.
Скорее всего его можно даже уговорить извлечь файл в TMemoryStream, если конечно, то чем предполагается читать файл умеет загружаться из потока.
Скорее всего его можно даже уговорить извлечь файл в TMemoryStream, если конечно, то чем предполагается читать файл умеет загружаться из потока.
-
wwswowsogon
- постоялец
- Сообщения: 157
- Зарегистрирован: 23.12.2008 19:41:37
Спасибо за ответы, будем думать.
wwswowsogon писал(а):Как это реализовано в архиваторах типа WinRAR или 7zip? Возможно, они всё же скрыто разархивируют архив в какую-нибудь папку?
Архиваторы не читают в память, они всегда в Temp скидывают, иначе программа которая должна работать с файлом не сможет открыть его.
