Sample code for 30+ languages & platforms
B4X Requires Chilkat v11.0.0+

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

B4X
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