Link Search Menu Expand Document

ЧтениеZip

Стд::Архивация::ЧтениеZip
Базовые типы: Объект

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

graph BT;
ЧтениеZip-->Объект;

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

Сравнение ссылочное


Примеры

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

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

ЧтениеZip

ЧтениеZip(
  Поток: ПотокЧтения,
  Пароль: Строка = "",
  КодировкаИменФайлов: Кодировка|Строка = Кодировка.Utf8)

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


Методы

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

ПолучитьПотокЭлемента(): ПотокЧтения

Возвращает содержимое элемента в виде потока.

Исключения

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


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

ПолучитьЭлемент(): ЭлементZip

Возвращает текущий элемент архива.

Исключения

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


Следующий

Следующий(): Булево

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

Исключения

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


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

Объект