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
属性
|
方法
close() |
|
start_file(path: String) |
|
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 要小。解压速度通常不受压缩级别的影响。
属性说明
调用 start_file() 时使用的压缩级别。请参考 CompressionLevel。
方法说明
关闭该实例底层所使用的资源。
停止向归档中的文件进行写入。
如果没有打开文件,则会失败。
Error open(path: String, append: ZipAppend = 0) 🔗
打开给定路径处的 Zip 文件,使用指定的写入模式进行写入。
必须在其他调用前调用。
Error start_file(path: String) 🔗
开始向存档中的一个文件写入。同一时间只能写一个文件。
必须在open()之后调用。
Error write_file(data: PackedByteArray) 🔗
将给定的 data 写到文件中。
需要在 start_file() 之后调用。