Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
Append Dir Tree to Existing Zip w/out Rewriting Entire ZipDemonstrates how to use the QuickAppend method to append a directory tree to an existing .zip archive. This method works by editing the existing .zip -- it does not rewrite or recompress the contents of the existing .zip. It is the fastest way to append additional files to a pre-existing large .zip archive. Note: The QuickAppend method is new and available in the pre-release downloads, or in official releases dated after 6-October-2007. Downloads: MS Windows Visual C/C++ Libraries Linux/CentOS C/C++ Libraries MAC OS X C/C++ Libraries Solaris C/C++ Libraries C++ Builder Libraries FreeBSD C++ Libraries HP-UX C++ Libraries BlackBerry QNX C++ Libraries #include <C_CkZip.h> void ChilkatSample(void) { HCkZip zip; BOOL success; BOOL recurse; zip = CkZip_Create(); // Any string unlocks the component for the 1st 30-days. success = CkZip_UnlockComponent(zip,"Anything for 30-day trial"); if (success != TRUE) { printf("%s\n",CkZip_lastErrorText(zip)); return; } // The NewZip method only initializes the Zip object -- it does // not create or write a .zip file. success = CkZip_NewZip(zip,"notUsed.zip"); if (success != TRUE) { printf("%s\n",CkZip_lastErrorText(zip)); return; } // Add a references to all files in a directory tree. // Note: this does not read or compress the file contents -- // it simply adds file references to the zip object. recurse = TRUE; success = CkZip_AppendFiles(zip,"c:/temp/abc123/*",recurse); if (success != TRUE) { printf("%s\n",CkZip_lastErrorText(zip)); return; } // Appends the contents of the zip object to the preExisting.zip // zip archive. preExisting.zip is opened, and the files // referenced by this zip object are streamed in, compressed, // and appended to the end of the archive. success = CkZip_QuickAppend(zip,"preExisting.zip"); if (success != TRUE) { printf("%s\n",CkZip_lastErrorText(zip)); return; } printf("Success!\n"); // Note: Additional files, directory trees, or in-memory data // can be appended by calling AppendOneFileOrDir, AppendFiles, // AppendString, AppendData, etc. multiple times. // Whatever files and/or in-memory data that are referenced by // this zip object will be appended to preExisting.zip when // QuickAppend is called. CkZip_Dispose(zip); } |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.