ZIPPacker

Hereda: RefCounted < Object

Permite la creación de archivos ZIP.

Descripción

Esta clase implementa un escritor que permite almacenar múltiples blobs en un archivo ZIP. Véase también ZIPReader y PCKPacker.

# Crea un archivo ZIP con un solo archivo en su raíz.
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

Propiedades

int

compression_level

-1

Métodos

Error

close()

Error

close_file()

Error

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

Error

start_file(path: String)

Error

write_file(data: PackedByteArray)


Enumeraciones

enum ZipAppend: 🔗

ZipAppend APPEND_CREATE = 0

Crea un nuevo archivo .zip en la ruta dada.

ZipAppend APPEND_CREATEAFTER = 1

Añade un nuevo archivo .zip al final del archivo ya existente en la ruta indicada.

ZipAppend APPEND_ADDINZIP = 2

Añade nuevos archivos al archivo .zip existente en la ruta indicada.


enum CompressionLevel: 🔗

CompressionLevel COMPRESSION_DEFAULT = -1

Inicia un archivo con el nivel de compresión predeterminado de Deflate (6). Este es un buen equilibrio entre velocidad y tamaño de archivo.

CompressionLevel COMPRESSION_NONE = 0

Inicia un archivo sin compresión. Este modo de compresión, también conocido como "Almacenar", es el más rápido para comprimir archivos en un archivo ZIP. Considera usar este modo para archivos ya comprimidos (como JPEG, PNG, MP3 u Ogg Vorbis).

CompressionLevel COMPRESSION_FAST = 1

Inicia un archivo con el nivel de compresión Deflate más rápido (1). Esto permite una compresión rápida, pero resulta en archivos de mayor tamaño que COMPRESSION_DEFAULT. La velocidad de descompresión generalmente no se ve afectada por el nivel de compresión seleccionado.

CompressionLevel COMPRESSION_BEST = 9

Inicia un archivo con el mejor nivel de compresión de Deflate (9). Esto es lento de comprimir, pero resulta en archivos más pequeños que COMPRESSION_DEFAULT. La velocidad de descompresión generalmente no se ve afectada por el nivel de compresión seleccionado.


Descripciones de Propiedades

int compression_level = -1 🔗

  • void set_compression_level(value: int)

  • int get_compression_level()

El nivel de compresión utilizado al llamar a start_file(). Usa CompressionLevel como referencia.


Descripciones de Métodos

Error close() 🔗

Cierra los recursos subyacentes utilizados por esta instancia.


Error close_file() 🔗

Detiene la escritura en un archivo dentro del archivo comprimido.

Fallará si no hay ningún archivo abierto.


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

Abre un archivo .zip para escribir en la ruta indicada utilizando el modo de escritura especificado.

Debe llamarse antes que cualquier otra función.


Error start_file(path: String) 🔗

Comienza a escribir en un archivo dentro del archivo comprimido. Solo se puede escribir en un archivo a la vez.

Debe llamarse después de open().


Error write_file(data: PackedByteArray) 🔗

Escribe los datos del parámetro en el archivo.

Debe llamarse después de start_file().