Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
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
Свойства
|
Методы
add_directory(path: String, permissions: BitField[UnixPermissionFlags] = 493, modified_time: int = 0) |
|
close() |
|
start_file(path: String, permissions: BitField[UnixPermissionFlags] = 420, modified_time: int = 0) |
|
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 add_directory(path: String, permissions: BitField[UnixPermissionFlags] = 493, modified_time: int = 0) 🔗
Добавляет каталог в архив. Если modified_time установлен в 0, используется текущее системное время.
Примечание: Каталоги автоматически создаются при вызове start_file(). Используйте эту функцию перед добавлением файлов, чтобы создать каталоги с пользовательскими правами доступа и временем модификации.
Закрывает основные ресурсы, используемые этим экземпляром.
Прекращает запись в файл внутри архива.
Это приведет к сбою, если нет открытого файла.
Error open(path: String, append: ZipAppend = 0) 🔗
Открывает zip-файл для записи по указанному пути, используя указанный режим записи.
Должен вызываться прежде всего остального.
Error start_file(path: String, permissions: BitField[UnixPermissionFlags] = 420, modified_time: int = 0) 🔗
Начинает запись в файл внутри архива. Одновременно может быть записан только один файл. Если modified_time установлен в 0, используется текущее системное время.
Должен вызываться после open().
Error write_file(data: PackedByteArray) 🔗
Записать полученный data в файл.
Должен вызываться после start_file().