ZIPPacker
Наследует: RefCounted < Object
Позволяет создавать ZIP-файлы.
Описание
Этот класс реализует модуль записи, который позволяет хранить несколько больших двоичных объектов в ZIP-архиве. Смотрите также ZIPReader и PCKPacker.
# Создайте ZIP-архив с одним файлом в корне.
func write_zip_file():
var writer = ZIPPacker.new()
var err = writer.open("user://archive.zip")
if err != OK:
return err
writer.start_file("hello.txt")
writer.write_file("Hello World".to_utf8_buffer())
writer.close_file()
writer.close()
return OK
Свойства
|
Методы
close() |
|
start_file(path: String) |
|
write_file(data: PackedByteArray) |
Перечисления
enum ZipAppend: 🔗
ZipAppend APPEND_CREATE = 0
Создать новый zip-архив по указанному пути.
ZipAppend APPEND_CREATEAFTER = 1
Добавить новый zip-архив в конец существующего файла по указанному пути.
ZipAppend APPEND_ADDINZIP = 2
Добавить новые файлы в существующий zip-архив по указанному пути.
enum CompressionLevel: 🔗
CompressionLevel COMPRESSION_DEFAULT = -1
Запустите файл с уровнем сжатия Deflate по умолчанию (6). Это хороший компромисс между скоростью и размером файла.
CompressionLevel COMPRESSION_NONE = 0
Запустите файл без сжатия. Это также известно как режим сжатия "Store" и является самым быстрым методом упаковки файлов в архив ZIP. Рассмотрите возможность использования этого режима для уже сжатых файлов (например, файлов JPEG, PNG, MP3 или Ogg Vorbis).
CompressionLevel COMPRESSION_FAST = 1
Запустите файл с самым быстрым уровнем сжатия Deflate (1). Это обеспечивает быстрое сжатие, но приводит к увеличению размера файла по сравнению с COMPRESSION_DEFAULT. Скорость распаковки обычно не зависит от выбранного уровня сжатия.
CompressionLevel COMPRESSION_BEST = 9
Создайте файл с оптимальным уровнем сжатия Deflate (9). Этот вариант сжатия медленнее, но размер файла меньше, чем у COMPRESSION_DEFAULT. Скорость распаковки, как правило, не зависит от выбранного уровня сжатия.
Описания свойств
Уровень сжатия, используемый при вызове start_file(). Используйте CompressionLevel в качестве значений.
Описания метода
Закрывает основные ресурсы, используемые этим экземпляром.
Прекращает запись в файл внутри архива.
Это приведет к сбою, если нет открытого файла.
Error open(path: String, append: ZipAppend = 0) 🔗
Открывает zip-файл для записи по указанному пути, используя указанный режим записи.
Должен вызываться прежде всего остального.
Error start_file(path: String) 🔗
Начинает запись в файл внутри архива. Одновременно может быть записан только один файл.
Должен вызываться после open().
Error write_file(data: PackedByteArray) 🔗
Записать полученный data в файл.
Должен вызываться после start_file().