Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Objective-C) Unzip Some Files by Iterating over EntriesDemonstrates how to unzip specific files by iterating over entries in a .zip.
#import <CkoZip.h> #import <CkoStringBuilder.h> #import <CkoZipEntry.h> #import <NSString.h> // This requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkoZip *zip = [[CkoZip alloc] init]; // Open a .zip containing: // // a1.xml // b1.xml // c1.xml // dir1/a2.xml // dir1/c2.xml // dir2/dir3/c3.xml // We wish to unzip only a1.xml, b1.xml, and c1.xml BOOL success = [zip OpenZip: @"qa_data/zips/xml_files.zip"]; if (success != YES) { NSLog(@"%@",zip.LastErrorText); return; } CkoStringBuilder *sbFilename = [[CkoStringBuilder alloc] init]; int numEntries = [zip.NumEntries intValue]; int i = 0; while (i < numEntries) { CkoZipEntry *entry = [zip GetEntryByIndex: [NSNumber numberWithInt: i]]; NSString *entryFilePath = entry.FileName; NSLog(@"%@",entryFilePath); if (entry.IsDirectory == NO) { [sbFilename SetString: entryFilePath]; if ([sbFilename Contains: @"/" caseSensitive: NO] == NO) { // Does not contain "/" // Unzip to the qa_output directory. success = [entry Extract: @"qa_output"]; if (success == NO) { NSLog(@"%@%@",@"Failed to unzip ",entryFilePath); } else { NSLog(@"%@%@",@"Unzipped ",entryFilePath); } } } i = i + 1; } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.