Chilkat • HOME • Android™ • AutoIt • C • C# • C++ • Chilkat2-Python • CkPython • Classic ASP • DataFlex • Delphi DLL • Go • Java • Node.js • Objective-C • PHP Extension • Perl • PowerBuilder • PowerShell • PureBasic • Ruby • SQL Server • Swift • Tcl • Unicode C • Unicode C++ • VB.NET • VBScript • Visual Basic 6.0 • Visual FoxPro • Xojo Plugin
(Ruby) Unzip Some Files by Iterating over EntriesDemonstrates how to unzip specific files by iterating over entries in a .zip.
require 'chilkat' # This requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. zip = Chilkat::CkZip.new() # Open a .zip containing: # # a1.xml # b1.xml # c1.xml # dir1/a2.xml # dir1/c2.xml # dir2/dir3/c3.xml # We wish to unzip only a1.xml, b1.xml, and c1.xml success = zip.OpenZip("qa_data/zips/xml_files.zip") if (success != true) print zip.lastErrorText() + "\n"; exit end sbFilename = Chilkat::CkStringBuilder.new() numEntries = zip.get_NumEntries() i = 0 while i < numEntries # entry is a CkZipEntry entry = zip.GetEntryByIndex(i) entryFilePath = entry.fileName() print entryFilePath + "\n"; if (entry.get_IsDirectory() == false) sbFilename.SetString(entryFilePath) if (sbFilename.Contains("/",false) == false) # Does not contain "/" # Unzip to the qa_output directory. success = entry.Extract("qa_output") if (success == false) print "Failed to unzip " + entryFilePath + "\n"; else print "Unzipped " + entryFilePath + "\n"; end end end i = i + 1 end |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.