(Ruby) Unzip Selected Files from a Zip Archive
Demonstrates how to iterate over the files contained within a .zip and unzip specific files. Note: This example requires Chilkat v11.0.0 or greater.
require 'chilkat'
success = false
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
zip = Chilkat::CkZip.new()
success = zip.OpenZip("my_files.zip")
if (success == false)
print zip.lastErrorText() + "\n";
exit
end
unzipDir = "/temp/unzipDir"
# Get the number of files and directories in the .zip
n = zip.get_NumEntries()
entry = Chilkat::CkZipEntry.new()
i = 0
while i < n
zip.EntryAt(i,entry)
if (entry.get_IsDirectory() == false)
# (the filename may include a path)
print entry.fileName() + "\n";
# Your application may choose to unzip this entry
# based on the filename.
# If the entry should be unzipped, then call Extract(unzipDir)
success = entry.Extract(unzipDir)
if (success == false)
print entry.lastErrorText() + "\n";
exit
end
end
i = i + 1
end
|