Перейти к основному содержимому

ЧтениеZip

Стд::Архивация::ЧтениеZip

Объект для потокового чтения ZIP-архива.

Сравнение

Ссылочное

Иерархия типа

Базовые типы: Объект


Примеры

Общие примеры

метод РаспаковатьАрхив(КаталогРаспаковки: Файл, ВходнойАрхив: Файл, Пароль: Строка)
// Создание потока чтения файла архива
исп АрхивПотокЧтения = ВходнойАрхив.ОткрытьПотокЧтения()
пер ЧтениеZip = новый ЧтениеZip(АрхивПотокЧтения, Пароль)

пока ЧтениеZip.Следующий()
// Получение элемента архива
пер ЭлементZip = ЧтениеZip.ПолучитьЭлемент()

если не ЭлементZip.ЭтоКаталог()
// Создание объекта файла, в который будет выполнена распаковка элемента архива.
// ПутьВАрхиве содержит полный путь со всеми каталогами и именем файла, все каталоги будут созданы,
// поэтому пропускаются элементы архива, которые являются каталогами
пер Файл = Файлы.Создать(новый Файл(КаталогРаспаковки.Путь, [ЭлементZip.ПутьВАрхиве]))

// Открытие потока записи, будет закрыт автоматически, так как объявлен через "исп"
исп ФайлПотокЗаписи = Файл.ОткрытьПотокЗаписи()

// Запись байтов элемента архива в поток записи целевого файла
ФайлПотокЗаписи.Записать(ЧтениеZip.ПолучитьПотокЭлемента().ПрочитатьКакБайты())
;
;
;

Конструкторы

ЧтениеZip

ЧтениеZip(
Поток: ПотокЧтения,
Пароль: Секрет|Строка = "",
КодировкаИменФайлов: Кодировка|Строка = Кодировка.Utf8)
Создает объект чтения ZIP-архива на основании потока Поток и пароля к архиву Пароль. КодировкаИменФайлов используется для распаковки существующих файлов в архиве, не для добавления новых файлов. Значение используется, если путь элемента архива не сохранен в utf8 кодировке внутри архива. Поддерживаются только архивы с элементами сжатыми по алгоритму Deflate или Store (без сжатия). Другие алгоритмы, в частности Deflate64 или BZip2, не поддерживаются.


Методы

ПолучитьПотокЭлемента

ПолучитьПотокЭлемента(): ПотокЧтения
Возвращает содержимое элемента в виде потока.

Исключения

ИсключениеНедопустимоеСостояние - при возникновении ошибки.


ПолучитьЭлемент

ПолучитьЭлемент(): ЭлементZip
Возвращает текущий элемент архива.

Исключения

ИсключениеНедопустимоеСостояние - если элемент невозможно получить.


Следующий

Следующий(): Булево
Выполняет считывание следующего элемента архива. Возвращает признак наличия следующего элемента (т.е. что произошло переключение на него).

Исключения

ИсключениеВводаВывода - при возникновении ошибки чтения и разбора элемента архива.


Список унаследованных методов

Объект

ВСтроку

ПолучитьТип

Представление