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
Hérite de : RefCounted < Object
Permet la création de fichiers ZIP.
Description
Cette classe implémente un writer qui permet de stocker de multiples blobs dans une archive ZIP. Voir aussi ZIPReader et PCKPacker.
# Créer une archive ZIP avec un seul fichier à sa racine.
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
Propriétés
|
Méthodes
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) |
Énumérations
enum ZipAppend: 🔗
ZipAppend APPEND_CREATE = 0
Crée une nouvelle archive zip au chemin indiqué.
ZipAppend APPEND_CREATEAFTER = 1
Ajoute une nouvelle archive zip à la fin du fichier existant à l'emplacement donné.
ZipAppend APPEND_ADDINZIP = 2
Ajoute de nouveaux fichiers à l'archive zip existante à l'emplacement donné.
enum CompressionLevel: 🔗
CompressionLevel COMPRESSION_DEFAULT = -1
Commence un fichier avec le niveau de compression Deflate par défaut (6). C'est un bon compromis entre la vitesse et la taille du fichier.
CompressionLevel COMPRESSION_NONE = 0
Commence un fichier sans compression. Ceci est également connu comme le mode de compression "Store" et est la méthode la plus rapide d'empaquetage de fichier dans une archive ZIP. Envisagez d'utiliser ce mode pour les fichiers déjà compressés (comme les fichiers JPEG, PNG, MP3, ou Ogg Vorbis).
CompressionLevel COMPRESSION_FAST = 1
Commence un fichier avec le niveau de compression Deflate le plus rapide (1). Ceci est rapide à compresser, mais résulte en de plus grandes tailles de fichiers que COMPRESSION_DEFAULT. La vitesse de décompression n'est généralement pas affectée par le niveau de compression choisi.
CompressionLevel COMPRESSION_BEST = 9
Commence un fichier avec le meilleur niveau de compression Deflate (1). Ceci est lent à compresser, mais résulte en de plus petites tailles de fichiers que COMPRESSION_DEFAULT. La vitesse de décompression n'est généralement pas affectée par le niveau de compression choisi.
Descriptions des propriétés
Le niveau de compression utilisé lorsque start_file() est appelée. Utilisez CompressionLevel comme référence.
Descriptions des méthodes
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.
Ferme les ressources sous-jacentes utilisées par cette instance.
Arrête d'écrire vers un fichier dans l'archive.
Échouera s'il n'y a pas de fichier ouvert.
Error open(path: String, append: ZipAppend = 0) 🔗
Ouvre un fichier zip pour l'écriture au chemin donné en utilisant le mode d'écriture spécifié.
Cela doit être appelé avant quoi que ce soit d'autre.
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) 🔗
Écrit les données data données dans le fichier.
Doit être appelée après start_file().