Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... 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-2024 Chilkat Software, Inc. All Rights Reserved.