Xojo Plugin
Xojo Plugin
Unzip Some Files by Iterating over Entries
See more Zip Examples
Demonstrates how to unzip specific files by iterating over entries in a .zip.Chilkat Xojo Plugin Downloads
Dim success As Boolean
success = False
// This requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Dim zip As New Chilkat.Zip
// 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 = False) Then
System.DebugLog(zip.LastErrorText)
Return
End If
Dim sbFilename As New Chilkat.StringBuilder
Dim entry As New Chilkat.ZipEntry
Dim numEntries As Int32
numEntries = zip.NumEntries
Dim i As Int32
i = 0
While i < numEntries
success = zip.EntryAt(i,entry)
Dim entryFilePath As String
entryFilePath = entry.FileName
System.DebugLog(entryFilePath)
If (entry.IsDirectory = False) Then
success = sbFilename.SetString(entryFilePath)
If (sbFilename.Contains("/",False) = False) Then
// Does not contain "/"
// Unzip to the qa_output directory.
success = entry.Extract("qa_output")
If (success = False) Then
System.DebugLog("Failed to unzip " + entryFilePath)
Else
System.DebugLog("Unzipped " + entryFilePath)
End If
End If
End If
i = i + 1
Wend