Книга: Технологии интеграции "1С:Предприятия 8.3""
Назад: Чтение ZIP-архивов
Дальше: Примеры работы

Работа с файлами большого объема

При работе с большими объемами данных могут возникнуть проблемы при пересылке архивных файлов. Типичной такой проблемой является ограничение некоторых почтовых серверов на размер сообщения: если письмо превышает некий заранее установленный размер, оно отбрасывается сервером. Применительно к «1С:Предприятию» такая ситуация может возникнуть при пересылке больших сообщений обмена данными.

Для решения этих проблем можно использовать функции глобального контекста РазделитьФайл() и ОбъединитьФайлы().

Функция РазделитьФайл() предназначена для разбиения файла на несколько частей указанного размера. Функция ОбъединитьФайлы(), наоборот, позволяет из нескольких томов собрать один файл.

Пример использования функции РазделитьФайл() приведен в листинге 6.133.

Листинг 6.133. Пример использования функции «РазделитьФайл()»

Массив = РазделитьФайл("c:\архив.zip", 1024 * 1024, "c:\");

Первый параметр функции содержит имя архива, во второй записывается размер каждой части файла в байтах, в третьем параметре указывается путь, по которому будут размещаться создаваемые файлы. Функция возвращает массив имен созданных файлов.

Функцию ОбъединитьФайлы() можно использовать двумя способами:

Листинг 6.134. Пример использования функции «ОбъединитьФайлы()»

МассивИмен = Новый Массив(2);

МассивИмен.Добавить("c:\архив.zip.001");

МассивИмен.Добавить("c:\архив.zip.002");

ОбъединитьФайлы(МассивИмен, "c:\архив.zip");

Листинг 6.135. Пример использования функции «ОбъединитьФайлы()»

ОбъединитьФайлы("c:\архив.zip.*", "c:\архив.zip");

Во втором параметре функции указывается полное имя создаваемого в результате объединения файла.

Кроме этого способа существует также возможность объединить файлы в один с помощью команды операционной системы COPY. Для этого нужно воспользоваться ее возможностью конкатенации двоичных файлов (листинг 6.136).

Листинг 6.136. Пример использования команды COPY

C:\>COPY архив.zip.001 /B + архив.zip.002 /B архив.zip

Назад: Чтение ZIP-архивов
Дальше: Примеры работы