Ruby Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Ruby
Examples

Quick Start
Ruby Unicode
Ruby Byte Array
Ruby Certs
Ruby Email
Ruby Encryption
Ruby FTP
HTML-to-XML
Ruby HTTP
Ruby IMAP
Ruby MHT
Ruby MIME
Ruby S/MIME
Ruby Signatures
Ruby RSA
Ruby Socket
Ruby Spider
Ruby Tar
Ruby Upload
Ruby XML
Ruby XMP
Ruby Zip

More Examples...
String
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
Bzip2
DH Key Exchange
DSA
SSH Key
SSH
SSH Tunnel
SFTP

Unreleased...
LZW
Bz2
Icon

 

 

 

 

 

 

 

Append File and Rename within Zip

How to append an additional file to a .zip and rename it within the .zip.

Download Chilkat Ruby Library

require 'chilkat'

zip = Chilkat::CkZip.new()

#  Any string unlocks the component for the 1st 30-days.
success = zip.UnlockComponent("Anything for 30-day trial")
if (success != true)
    print zip.lastErrorText() + "\n"
    exit
end

#  Open an existing .zip.
#  Note: Opening a zip does not read the entire zip into memory.
#  It simply opens the zip and makes it ready for unzipping
#  or retrieving information and/or data.
success = zip.OpenZip("a.zip")
if (success != true)
    print zip.lastErrorText() + "\n"
    exit
end

#  Save the current number of entries.
numEntries = zip.get_NumEntries()

#  Append a new file to the .zip.
#  The new entry is at index numEntries (indexing begins at 0).
#  Note: The AppendOneFileOrDir simply adds a reference to the
#  file to the zip object.  The file is not actually read
#  or physically added to the .zip file until the WriteZip or
#  WriteZipAndClose method is called.
success = zip.AppendOneFileOrDir("hamlet.xml")
if (success != true)
    print zip.lastErrorText() + "\n"
    exit
end

#  Get the entry we just added:

entry = zip.GetEntryByIndex(numEntries)

#  Change the filename.
#  The zip component remembers the file referenced in the filesystem.
#  When the zip is written, the "hamlet.xml" file is read and
#  compressed, but the filename within the zip will be "shakespearePlay.xml".
entry.put_FileName("shakespearePlay.xml")

#  Write the .zip
#  The Chilkat Zip component always writes to a temporary file
#  first.  This is to ensure that (in cases like this), if something
#  goes wrong we don't lose the original .zip.  If the write
#  finishes without error, it is moved to the destination
#  file, thus overwriting it.  The TempDir property controls
#  the directory where the temp zip is written.
success = zip.WriteZipAndClose()
if (success != true)
    print zip.lastErrorText() + "\n"
    exit
end

 

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2008 Chilkat Software, Inc. All Rights Reserved.