Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
Append In-Memory Data to Existing Zip w/out Rewriting Entire ZipDemonstrates how to use the QuickAppend method to append in-memory data (string or byte array) 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 or data 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.
import sys import chilkat zip = chilkat.CkZip() # Any string unlocks the component for the 1st 30-days. success = zip.UnlockComponent("Anything for 30-day trial") if (success != True): print zip.lastErrorText() sys.exit() # The NewZip method only initializes the Zip object -- it does # not create or write a .zip file. success = zip.NewZip("notUsed.zip") if (success != True): print zip.lastErrorText() sys.exit() inZipFilename = "something.txt" strData = "abcdefghijklmnopqrstuvwxyz1234567890" strCharset = "iso-8859-1" # Append a string as a file to the existing zip object. # Please read the notes about strCharset below. zip.AppendString2(inZipFilename,strData,strCharset) # Note: The AppendString method is identical to AppendString2, # except the strCharset argument is omitted and it is assumed # you desire the ANSI charset. # Note: You may append a byte array (or Variant containing # a byte array for ActiveX users) by calling AppendData. # Appends the contents of this 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 = zip.QuickAppend("preExisting.zip") if (success != True): print zip.lastErrorText() sys.exit() print "Success!" # Note about strCharset: # string variables in many programming language are Unicode. # It is likely that you don't want to create .zip that contains # a text file that will unzip to Unicode characters (2 bytes/char). # The strCharset argument allows you to specify the exact # charset to use. When the string is added to the .zip, it # is first converted to this charset. English strings # may use "us-ascii". Western-European languages typically # use "iso-8859-1" or "windows-1252". Japanese might choose # between "shift_jis", "iso-2022-jp", "euc-jp", etc. # Chilkat supports all major character encodings. # You may always use "ansi" or "utf-8". # 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. |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2007 Chilkat Software, Inc. All Rights Reserved.