Gentee
  • Скриптовый язык программирования Gentee
  • Синтаксис языка
    • Лексические элементы
    • Типы
    • Описания
    • Конструкции языка
    • Обработка ошибок
    • Выражения
    • Запуск программ
    • Многопоточность
    • Включение и импорт файлов
  • Стандартная библиотека
    • Архивация
    • Ассоциативные массивы
    • Буфер
    • Время
    • Конвертация
    • Консоль
    • Константы
    • Контекст
    • Криптография
    • Логический тип
    • Массивы
    • Многопоточность
    • Множества
    • Объекты
    • Процесс
    • Путь
    • Рантайм
    • Регулярные выражения
    • Сеть
    • Символьный тип
    • Система
    • Строки
    • Файлы
    • Целые числа
    • Числа с плавающей точкой
  • Интеграция с Go
    • Документация
    • Компиляция и выполнение
    • Дополнительные возможности
    • Песочница
  • Сменить язык
    • English
Powered by GitBook
On this page
  • Функции
  • ArchiveName(finfo fi, str root) str
  • CloseTarGz(handle h)
  • CloseZip(handle h)
  • CreateTarGz(str name) handle
  • CreateZip(str name) handle
  • CompressFile(handle h, str fname, str packname)
  • ReadTarGz(str name) arr.finfo
  • ReadZip(str name) arr.finfo
  • TarGz(str name, str path)
  • UnpackTarGz(str name, str path)
  • UnpackTarGz(str name, str path, arr pattern, arr ignore)
  • UnpackZip(str name, str path)
  • UnpackZip(str name, str path, arr pattern, arr ignore)
  • Zip(str name, str path)

Was this helpful?

  1. Стандартная библиотека

Архивация

PreviousСтандартная библиотекаNextАссоциативные массивы

Last updated 4 years ago

Was this helpful?

Здесь описаны функции для работы с архивами zip и tar.gz.

Функции

ArchiveName(finfo fi, str root) str

Функция ArchiveName объединяет поля Name и Dir в переменной типа finfo и возвращает путь файла для архива относительно корневого пути root.

CloseTarGz(handle h)

Функция CloseTarGz заканчивает создание .tar.gz архива. Параметр h - это идентификатор, который был возвращен функцией CreateTarGz.

CloseZip(handle h)

Функция CloseZip заканчивает создание .zip архива. Параметр h - это идентификатор, который был возвращен функцией CreateZip.

CreateTarGz(str name) handle

Функция CreateTarGz начинает создание .tar.gz архива с указанным именем. Вы можете добавлять файлы в этот архив с помощью функции CompressFile. Функция возвращает идентификатор, который нужно будет закрыть с помощью функции CloseTarGz.

CreateZip(str name) handle

Функция CreateZip начинает создание .zip архива с указанным именем. Вы можете добавлять файлы в этот архив с помощью функции CompressFile. Функция возвращает идентификатор, который нужно будет закрыть с помощью функции CloseZip.

CompressFile(handle h, str fname, str packname)

Функция CompressFile добавляет указанный файл fname в создаваемый архив. Параметр packname содержит относительный путь и имя файла с которым он будет сохранен в архиве. В качестве разделителя нужно использовать символ /. Архив предварительно должен быть создан с помощью функций CreateZip или CreateTarGz.

    handle zip = CreateZip(`my.zip`)
    CompressFile(zip, `../data/my.txt`, `my.txt`)
    CompressFile(zip, `/home/user/folder/copy.txt`, `folder/copy.txt`)
    CloseZip(zip)

ReadTarGz(str name) arr.finfo

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

   arr.finfo list = ReadTarGz(`my.tar.gz`)
   for fi in list : Println( "\{fi.Name} \{fi.Size}")

ReadZip(str name) arr.finfo

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

TarGz(str name, str path)

Функция TarGz упаковывает файл или содержимое директории path в .tar.gz архив с именем name.

   TarGz("/home/user/out/my.tar.gz", `/home/user/docs`)

UnpackTarGz(str name, str path)

Функция UnpackTarGz распаковывает .tar.gz архив с именем name в директорию path.

   UnpackTarGz("/home/user/out/my.tar.gz", `/home/user/olddocs`)

UnpackTarGz(str name, str path, arr pattern, arr ignore)

Функция UnpackTarGz выборочно распаковывает .tar.gz архив с именем name в директорию path. Массив pattern содержит шаблоны файлов, которые необходимо распаковать. Массив ignore содержит шаблоны файлов, которые необходимо пропустить. Параметры pattern и ignore могу быть пустыми массивами. Если шаблон начинается и заканчивается символом /, то он обрабатывается как регулярное выражение.

   arr empty
   arr doc = {`*.docx`, `/.txt$/`}
   UnpackTarGz("/home/user/out/my.tar.gz", `/home/user/tmp`, doc, empty )

UnpackZip(str name, str path)

Функция UnpackZip распаковывает .zip архив с именем name в директорию path.

   UnpackZip("/home/user/out/my.zip", `/home/user/olddocs`)

UnpackZip(str name, str path, arr pattern, arr ignore)

Функция UnpackZip выборочно распаковывает .zip архив с именем name в директорию path. Массив pattern содержит шаблоны файлов, которые необходимо распаковать. Массив ignore содержит шаблоны файлов, которые необходимо пропустить. Параметры pattern и ignore могу быть пустыми массивами. Если шаблон начинается и заканчивается символом /, то он обрабатывается как регулярное выражение.

   arr empty
   arr skip = {`/temp.pdf/`, `/.txt$/`}
   UnpackZip("/home/user/out/my.tar.gz", `/home/user/tmp`, empty, skip )

Zip(str name, str path)

Функция Zip упаковывает файл или содержимое директории path в .zip архив с именем name.

   Zip("/home/user/out/mydoc.zip", `/home/user/docs/important.docx`)
ArchiveName( finfo fi, str root ) str
CloseTarGz( handle h )
CloseZip( handle h )
CreateTarGz( str name ) handle
CreateZip( str name ) handle
CompressFile( handle h, str fname, str packname )
ReadTarGz( str name ) arr.finfo
ReadZip( str name ) arr.finfo
TarGz( str name, str path )
UnpackTarGz( str name, str path )
UnpackTarGz( str name, str path, arr pattern, arr ignore )
UnpackZip( str name, str path )
UnpackZip( str name, str path, arr pattern, arr ignore )
Zip( str name, str path )