Чтение и запись ZIP в языке 1С 8.3, 8.2 (в примерах)
Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.
2020-01-27T21:20:38+00:00<<< 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 ТекстовыйДокумент ТабличныйДокумент