(Objective-C) Unzip Files to Byte Array
Demonstrates how to unzip each file contained in a .zip to an in-memory byte array.
#import <CkoZip.h>
#import <CkoZipEntry.h>
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkoZip *zip = [[CkoZip alloc] init];
BOOL success = [zip OpenZip: @"qa_data/zips/test.zip"];
if (success == NO) {
NSLog(@"%@",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.
int numEntries = [zip.NumEntries intValue];
NSLog(@"%@%d",@"NumEntries = ",numEntries);
int i = 0;
while (i < numEntries) {
CkoZipEntry *entry = [zip GetEntryByIndex: [NSNumber numberWithInt: i]];
if (entry.IsDirectory == NO) {
NSData fileData = [entry Inflate];
// Do whatever you wish with the file data...
}
i = i + 1;
}
[zip CloseZip];
NSLog(@"%@",@"Finished.");
|