(Objective-C) List Files in Zip using EntryAt / GetNext
Demonstrates how to iterate over the files and directories in a zip archive using EntryAt/GetNext.Note: This example requires Chilkat v11.0.0 or greater.
#import <CkoZip.h>
#import <CkoZipEntry.h>
BOOL success = NO;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkoZip *zip = [[CkoZip alloc] init];
success = [zip OpenZip: @"qa_data/zips/xml_files.zip"];
if (success == NO) {
NSLog(@"%@",zip.LastErrorText);
return;
}
CkoZipEntry *entry = [[CkoZipEntry alloc] init];
BOOL hasMoreEntries = [zip EntryAt: [NSNumber numberWithInt: 0] entry: entry];
while ((hasMoreEntries == YES)) {
if (entry.IsDirectory == NO) {
NSLog(@"%@",entry.FileName);
}
else {
NSLog(@"%@%@",@"(directory) ",entry.FileName);
}
hasMoreEntries = [entry GetNext];
}
// Sample output showing both file and directory entries:
// a1.xml
// b1.xml
// c1.xml
// (directory) dir1/
// dir1/a2.xml
// dir1/c2.xml
// (directory) dir2/
// (directory) dir2/dir3/
// dir2/dir3/c3.xml
|