В этой статье я расскажу о работе с ZIP-архивами в 1С. Для работы с ZIP-архивами в 1С существует пара специальных объектов. К сожалению, для RAR-архивов таких объектов не существует, поэтому работа с RAR-архивами будет рассмотрена в отдельной статье.
Создание ZIP-архива:
1 2 3 4 5 6 7 8 9 10 11 | &НаКлиенте Процедура СоздатьZIP(Команда) ЗаписьZIP = Новый ЗаписьZipФайла("C:\архив.zip", "пароль", "комментарий", МетодСжатияZIP.BZIP2, УровеньСжатияZIP.Максимальный, МетодШифрованияZIP.AES256); тФайлы = НайтиФайлы("C:\1\", "*.txt", Истина); Для Каждого тФайл Из тФайлы Цикл ЗаписьZIP.Добавить(тФайл.ПолноеИмя, РежимСохраненияПутейZIP.НеСохранятьПути); КонецЦикла; ЗаписьZIP.Записать(); КонецПроцедуры |
Чтение списка файлов и распаковка ZIP-архива:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | &НаКлиенте Процедура ЧтениеИРаспаковкаZIP(Команда) ЧтениеZIP = Новый ЧтениеZipФайла("C:\архив.zip", "пароль"); Сообщить(ЧтениеZIP.Комментарий); Для Каждого тЭлемент Из ЧтениеZIP.Элементы Цикл Сообщить("Файл:" + тЭлемент.ПолноеИмя); ЧтениеZIP.Извлечь(тЭлемент, "C:\3\", РежимВосстановленияПутейФайловZIP.НеВосстанавливать); КонецЦикла; ЧтениеZIP.ИзвлечьВсе("C:\2\", РежимВосстановленияПутейФайловZIP.НеВосстанавливать); ЧтениеZIP.Закрыть(); КонецПроцедуры |
Не думаю, что данный код нуждается в каких-либо комментариях, отмечу лишь, что метод сжатия BZIP2 доступен начиная с версии платформы 8.3.7.
Загрузка...