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) 🔗
Adds directory to the archive. If modified_time is set to 0, current system time is used.
Note: Directories are automatically created when start_file() is called, use this function before adding files to create directories with custom permissions and modification time.
Закрывает основные ресурсы, используемые этим экземпляром.
Прекращает запись в файл внутри архива.
Это приведет к сбою, если нет открытого файла.
Error open(path: String, append: ZipAppend = 0) 🔗
Открывает zip-файл для записи по указанному пути, используя указанный режим записи.
Должен вызываться прежде всего остального.
Error start_file(path: String, permissions: BitField[UnixPermissionFlags] = 420, modified_time: int = 0) 🔗
Starts writing to a file within the archive. Only one file can be written at the same time. If modified_time is set to 0, current system time is used.
Must be called after open().
Error write_file(data: PackedByteArray) 🔗
Записать полученный data в файл.
Должен вызываться после start_file().