Sample code for 30+ languages & platforms
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

Xojo Plugin
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