(Swift) Unzip Files to Byte Array
Demonstrates how to unzip each file contained in a .zip to an in-memory byte array. Note: This example requires Chilkat v11.0.0 or greater.
func chilkatTest() {
var success: Bool = false
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
let zip = CkoZip()!
success = zip.open("qa_data/zips/test.zip")
if success == false {
print("\(zip.lastErrorText!)")
return
}
// Iterate of each entry in the zip.
// An entry can be a file or directory entry. For each file, unzip to a byte array.
var numEntries: Int = zip.numEntries.intValue
print("NumEntries = \(numEntries)")
let entry = CkoZipEntry()!
var i: Int = 0
while i < numEntries {
zip.entry(at: i, entry: entry)
if entry.isDirectory == false {
var fileData: NSData = entry.inflate()
// Do whatever you wish with the file data...
}
i = i + 1
}
zip.close()
print("Finished.")
}
|