(Ruby) Unzip Selected Files from a Zip Archive
Demonstrates how to iterate over the files contained within a .zip and unzip specific files.
require 'chilkat'
# 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 != true)
print zip.lastErrorText() + "\n";
exit
end
unzipDir = "/temp/unzipDir"
# Get the number of files and directories in the .zip
n = zip.get_NumEntries()
print n.to_s() + "\n";
for i in 0 .. n - 1
# entry is a CkZipEntry
entry = zip.GetEntryByIndex(i)
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 != true)
print entry.lastErrorText() + "\n";
exit
end
end
end
|