Sample code for 30+ languages & platforms
Ruby

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 Ruby Downloads

Ruby
require 'chilkat'

success = false

success = false

# Open an existing ZIP archive.
zip = Chilkat::CkZip.new()

success = zip.OpenZip("example.zip")
if (success == false)
    print zip.lastErrorText() + "\n";
    exit
end

# Retrieve the first entry in the ZIP archive.
entry = Chilkat::CkZipEntry.new()

success = zip.EntryAt(0,entry)
if (success == false)
    print zip.lastErrorText() + "\n";
    exit
end

print "Original entry:" + "\n";
print "  FileName: " + entry.fileName() + "\n";
print "  EntryID: " + entry.get_EntryID().to_s() + "\n";
print "" + "\n";

# Save the EntryID for later use.
entryId = entry.get_EntryID()

# Create another ZipEntry object.
entry2 = Chilkat::CkZipEntry.new()

# Retrieve the same entry using EntryById.
success = zip.EntryById(entryId,entry2)
if (success == false)
    print zip.lastErrorText() + "\n";
    exit
end

print "Entry retrieved by EntryID:" + "\n";
print "  FileName: " + entry2.fileName() + "\n";
print "  EntryID: " + entry2.get_EntryID().to_s() + "\n";
print "" + "\n";

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

print "Done." + "\n";