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

List Files in Zip using EntryAt / GetNext

See more Zip Examples

Demonstrates how to iterate over the files and directories in a zip archive using EntryAt/GetNext.

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  // This example assumes the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  final zip = CkZip();

  try {
    zip.openZip('qa_data/zips/xml_files.zip');
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  final entry = CkZipEntry();
  var hasMoreEntries = true;
  try {
    zip.entryAt(0, entry);
  } on ChilkatException {
    hasMoreEntries = false;
  }
  while (hasMoreEntries) {
    if (!entry.isDirectory) {
      print(entry.fileName);
    } else {
      print('(directory) ${entry.fileName}');
    }

    hasMoreEntries = true;
    try {
      entry.getNext();
    } on ChilkatException {
      hasMoreEntries = false;
    }
  }

  // Sample output showing both file and directory entries:

  // a1.xml
  // b1.xml
  // c1.xml
  // (directory) dir1/
  // dir1/a2.xml
  // dir1/c2.xml
  // (directory) dir2/
  // (directory) dir2/dir3/
  // dir2/dir3/c3.xml
}