![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java JavaScript Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Objective-C) Remove an Entry from an Existing ZIP Using DeleteEntry
This example demonstrates how to use the The example:
Suppose the original ZIP archive contains:
After deleting
The entry is removed only from the in-memory ZIP object until a
Note: This example requires Chilkat v11.0.0 or greater.
#import <CkoZip.h> #import <NSString.h> #import <CkoZipEntry.h> BOOL success = NO; success = NO; // ------------------------------------------------------------ // First create a ZIP archive containing three text files. CkoZip *zip = [[CkoZip alloc] init]; success = [zip NewZip: @"original.zip"]; if (success == NO) { NSLog(@"%@",zip.LastErrorText); return; } NSString *charset = @"utf-8"; success = [zip AddString: @"a.txt" content: @"Contents of file A" charset: charset]; if (success == NO) { NSLog(@"%@",zip.LastErrorText); return; } success = [zip AddString: @"b.txt" content: @"Contents of file B" charset: charset]; if (success == NO) { NSLog(@"%@",zip.LastErrorText); return; } success = [zip AddString: @"c.txt" content: @"Contents of file C" charset: charset]; if (success == NO) { NSLog(@"%@",zip.LastErrorText); return; } // Write the ZIP archive to disk. // // The ZIP now contains: // // a.txt // b.txt // c.txt // success = [zip WriteZipAndClose]; if (success == NO) { NSLog(@"%@",zip.LastErrorText); return; } // ------------------------------------------------------------ // Open the existing ZIP archive for modification. CkoZip *zip2 = [[CkoZip alloc] init]; success = [zip2 OpenZip: @"original.zip"]; if (success == NO) { NSLog(@"%@",zip2.LastErrorText); return; } // Find the entry named "b.txt". CkoZipEntry *entry = [[CkoZipEntry alloc] init]; success = [zip2 EntryOf: @"b.txt" entry: entry]; if (success == NO) { NSLog(@"%@",zip2.LastErrorText); return; } // Remove the entry from the in-memory ZIP object. // // At this point, the original ZIP file on disk is unchanged. // The deletion takes effect only after WriteZip or // WriteZipAndClose is called. success = [zip2 DeleteEntry: entry]; if (success == NO) { NSLog(@"%@",zip2.LastErrorText); return; } // Write the modified ZIP archive to a new file. zip2.FileName = @"modified.zip"; success = [zip2 WriteZipAndClose]; if (success == NO) { NSLog(@"%@",zip2.LastErrorText); return; } // The modified ZIP now contains: // // a.txt // c.txt // NSLog(@"%@",@"ZIP archive updated successfully."); |
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.