ZIPPacker

Успадковує: RefCounted < Object

Дозволяє створювати ZIP-файли.

Опис

Цей клас реалізує записувач, який дозволяє зберігати кілька blob-файлів у ZIP-архіві. Дивіться також ZIPReader і PCKPacker.

# Створіть архів ZIP з одним файлом у корені.
func write_zip_file():
    var writer = ZIPPacker.new()
    var err = writer.open("user://archive.zip")
    if error != ОК:
        return error
    writer.start_file("hello.txt")
    writer.write_file("Hello World".to_utf8_buffer())
    writer.close_file()

    writer.close()
    return ОК

Властивості

int

compression_level

-1

Методи

Error

close()

Error

close_file()

Error

open(path: String, append: ZipAppend = 0)

Error

start_file(path: String)

Error

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

Створіть файл без стиснення. Це також відомий як режим стиснення «Збереження» і є найшвидшим методом пакування файлів у ZIP-архів. Рекомендується використовувати цей режим для файлів, які вже стиснуті (наприклад, файли JPEG, PNG, MP3 або Ogg Vorbis).

CompressionLevel COMPRESSION_FAST = 1

Розпочніть стиснення файлу з найшвидшим рівнем стиснення Deflate (1). Це швидко стискає файли, але призводить до більших розмірів, ніж COMPRESSION_DEFAULT. Швидкість розпакування зазвичай не залежить від вибраного рівня стиснення.

CompressionLevel COMPRESSION_BEST = 9

Розпочніть стиснення файлу з найкращим рівнем стиснення Deflate (9). Це повільно стискає файл, але призводить до менших розмірів файлів, ніж COMPRESSION_DEFAULT. Швидкість розпакування зазвичай не залежить від вибраного рівня стиснення.


Описи властивостей

int compression_level = -1 🔗

  • void set_compression_level(value: int)

  • int get_compression_level()

Рівень стиснення, який використовується під час виклику методу start_file(). Використовуйте CompressionLevel як посилання.


Описи методів

Error close() 🔗

Закриває базові ресурси, що використовуються цим екземпляром.


Error close_file() 🔗

Зупиняє запис до файлу в архіві.

Не вдасться, якщо немає відкритого файлу.


Error open(path: String, append: ZipAppend = 0) 🔗

Відкриває zip-файл для запису за вказаним шляхом з використанням вказаного режиму запису.

Ця функція має бути викликана перед усіма іншими.


Error start_file(path: String) 🔗

Починає запис до файлу в архіві. Одночасно може бути записано лише один файл.

Має бути викликаний після open().


Error write_file(data: PackedByteArray) 🔗

Записує задані data у файл.

Має бути викликаний після start_file().