B4X Requires Chilkat v11.0.0+
B4X
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 B4X Downloads
Dim success As Boolean = False
' This requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
Dim zip As ChilkatZip
zip.Initialize("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
Log(zip.LastErrorText)
Return
End If
Dim sbFilename As ChilkatStringBuilder
sbFilename.Initialize
Dim entry As ChilkatZipEntry
entry.Initialize("entry")
Dim numEntries As Int = zip.NumEntries
Dim i As Int = 0
Do While i < numEntries
zip.EntryAt(i, entry)
Dim entryFilePath As String = entry.FileName
Log(entryFilePath)
If entry.IsDirectory = False Then
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
Log("Failed to unzip " & entryFilePath)
Else
Log("Unzipped " & entryFilePath)
End If
End If
End If
i = i + 1
Loop