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

Find a ZIP Entry by EntryID Using EntryById

See more Zip Examples

This example demonstrates how to use the EntryById method to retrieve a ZIP entry using its unique EntryID.

Each ZipEntry object has an EntryID property that uniquely identifies the entry within the currently open ZIP object.

This is useful when:

  • An application stores EntryID values for later use
  • ZIP entries need to be retrieved without searching by filename
  • Multiple entries may have similar names or paths

The example:

  • Opens a ZIP archive
  • Retrieves an entry using EntryAt
  • Saves the entry's EntryID
  • Uses EntryById to retrieve the same entry later

Chilkat Go Downloads

Go
    success := false

    //  Open an existing ZIP archive.
    zip := chilkat.NewZip()

    success = zip.OpenZip("example.zip")
    if success == false {
        fmt.Println(zip.LastErrorText())
        zip.DisposeZip()
        return
    }

    //  Retrieve the first entry in the ZIP archive.
    entry := chilkat.NewZipEntry()

    success = zip.EntryAt(0,entry)
    if success == false {
        fmt.Println(zip.LastErrorText())
        zip.DisposeZip()
        entry.DisposeZipEntry()
        return
    }

    fmt.Println("Original entry:")
    fmt.Println("  FileName: ", entry.FileName())
    fmt.Println("  EntryID: ", entry.EntryID())
    fmt.Println("")

    //  Save the EntryID for later use.
    entryId := entry.EntryID()

    //  Create another ZipEntry object.
    entry2 := chilkat.NewZipEntry()

    //  Retrieve the same entry using EntryById.
    success = zip.EntryById(entryId,entry2)
    if success == false {
        fmt.Println(zip.LastErrorText())
        zip.DisposeZip()
        entry.DisposeZipEntry()
        entry2.DisposeZipEntry()
        return
    }

    fmt.Println("Entry retrieved by EntryID:")
    fmt.Println("  FileName: ", entry2.FileName())
    fmt.Println("  EntryID: ", entry2.EntryID())
    fmt.Println("")

    //  The filenames and EntryID values should match.
    zip.CloseZip()

    fmt.Println("Done.")

    zip.DisposeZip()
    entry.DisposeZipEntry()
    entry2.DisposeZipEntry()