Чтение и запись ZIP в языке 1С 8.3, 8.2 (в примерах)

Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.

<<< XML ZIP WORD DBF HTTP FTP ТекстовыйДокумент ТабличныйДокумент

&НаКлиенте
Процедура РаботаСZipАрхивами()
 
    /// Как создать zip-архив из 1с 8.3, 8.2    
 
    НовыйАрхив = Новый ЗаписьZipФайла(
        "c:\test.zip",
        "", // пароль на архив (оставим пустой)
        "Этот архив создан из 1с", // комментарий к архиву
        МетодСжатияZIP.Сжатие, // сжатие или копирование
        УровеньСжатияZIP.Оптимальный,
        МетодШифрованияZIP.Zip20
    );
 
    /// Как добавить файл в zip-архив из 1с 8.3, 8.2
 
    НовыйАрхив.Добавить(
        "c:\readme.txt" // указываем полный путь к файлу
    );
 
    /// Как добавить группу файлов (по маске) в zip-архив
    /// из 1с 8.3, 8.2
 
    // Предположим, что в папке "c:\work" находятся файлы
    // с расширением txt, добавим их все в архив.
 
    НовыйАрхив.Добавить(
        "c:\work\*.txt" // указываем маску к файлам
    );
 
    // А что если в "c:\work" находится другая папка, в которой
    // в свою очередь тоже есть txt файлы. Чтобы обработать
    // и эти файлы наш предыдущий пример следует изменить вот так:    
 
    НовыйАрхив.Добавить(
        "c:\work\*.txt", // указываем маску к файлам
        РежимСохраненияПутейZIP.СохранятьОтносительныеПути,
        РежимОбработкиПодкаталоговZIP.ОбрабатыватьРекурсивно
    );
 
    // Записываем созданный архив на диск компьютера.
    НовыйАрхив.Записать();
 
    /// Как открыть и добавить файл в уже существующий
    /// zip-архив из 1с 8.3, 8.2
 
    // К сожалению, библиотека языка не предоставляет нам такой возможности.
    // Поэтому надо или сначала распаковать весь архив в локальную папку (об этом ниже),
    // далее добавить в эту папку нужный файл и, наконец, снова запаковать её в архив.
    // Но я рекомендую освоить консольный архиватор 7-zip (он предоставляет
    // все возможности по модификации уже созданных архивов) и вызывать его через
    // команду ЗапуститьПриложение
 
    /// Как распаковать zip-архив из 1с 8.3, 8.2
 
    // Распакуем test.zip в папку "c:\zip_out"
 
    Архив = Новый ЧтениеZipФайла(
        "c:\test.zip", // путь к архиву
        "" // пароль к архиву
    );
 
    // Сообщим комментарий к архиву.
    Сообщить(Архив.Комментарий);
 
    // Распакуем все файлы разом.
    Архив.ИзвлечьВсе("c:\zip_out",
        РежимВосстановленияПутейФайловZIP.Восстанавливать);
 
    // Распакуем файлы по одиночке.    
    Для Каждого Элемент Из Архив.Элементы Цикл
        Сообщить(Элемент.ПолноеИмя);
        Архив.Извлечь(
            Элемент, // элемент для извлечения
            "c:\zip_out",
            РежимВосстановленияПутейФайловZIP.Восстанавливать,
            "" // пароль
        );
    КонецЦикла;    
 
КонецПроцедуры

Чтение и запись ZIP в языке 1С 8.3, 8.2 (в примерах)

<<< XML ZIP WORD DBF HTTP FTP ТекстовыйДокумент ТабличныйДокумент

С уважением, (преподаватель школы 1С программистов и разработчик обновлятора).



Владимир Милькин
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Нажмите одну из кнопок, чтобы поделиться: