Sample code for 30+ languages & platforms
Android™

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 Android™ Downloads

Android™
// Important: Don't forget to include the call to System.loadLibrary
// as shown at the bottom of this code sample.
package com.test;

import android.app.Activity;
import com.chilkatsoft.*;

import android.widget.TextView;
import android.os.Bundle;

public class SimpleActivity extends Activity {

  private static final String TAG = "Chilkat";

  // Called when the activity is first created.
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    boolean success = false;

    //  Open an existing ZIP archive.
    CkZip zip = new CkZip();

    success = zip.OpenZip("example.zip");
    if (success == false) {
        Log.i(TAG, zip.lastErrorText());
        return;
        }

    //  Retrieve the first entry in the ZIP archive.
    CkZipEntry entry = new CkZipEntry();

    success = zip.EntryAt(0,entry);
    if (success == false) {
        Log.i(TAG, zip.lastErrorText());
        return;
        }

    Log.i(TAG, "Original entry:");
    Log.i(TAG, "  FileName: " + entry.fileName());
    Log.i(TAG, "  EntryID: " + String.valueOf(entry.get_EntryID()));
    Log.i(TAG, "");

    //  Save the EntryID for later use.
    int entryId = entry.get_EntryID();

    //  Create another ZipEntry object.
    CkZipEntry entry2 = new CkZipEntry();

    //  Retrieve the same entry using EntryById.
    success = zip.EntryById(entryId,entry2);
    if (success == false) {
        Log.i(TAG, zip.lastErrorText());
        return;
        }

    Log.i(TAG, "Entry retrieved by EntryID:");
    Log.i(TAG, "  FileName: " + entry2.fileName());
    Log.i(TAG, "  EntryID: " + String.valueOf(entry2.get_EntryID()));
    Log.i(TAG, "");

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

    Log.i(TAG, "Done.");

  }

  static {
      System.loadLibrary("chilkat");

      // Note: If the incorrect library name is passed to System.loadLibrary,
      // then you will see the following error message at application startup:
      //"The application <your-application-name> has stopped unexpectedly. Please try again."
  }
}