Sample code for 30+ languages & platforms
Dart

Unzip all Files to a Single Directory (Ignoring Subdirectories in Zip)

See more Zip Examples

Demonstrates how to unzip all files into a single directory, ignoring the internal directory structure of the files in the .zip.

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 outDir = 'c:/temp/testUnzipDir';

  // Make sure our output directory exists.
  final fac = CkFileAccess();
  try {
    fac.dirEnsureExists(outDir);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  final zip = CkZip();

  // In this example, the xml_files.zip contains some files in the subdirectories "dir1" and also "dir2/dir3".

  // a1.xml
  // b1.xml
  // c1.xml
  // dir1/a2.xml
  // dir1/c2.xml
  // dir2/dir3/c3.xml

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

  // Unzip all files into the directory c:/temp/testUnzipDir
  final numUnzipped = zip.unzipInto(outDir);
  if (numUnzipped < 0) {
    print(zip.lastErrorText);
    return;
  }

  print('Num unzipped = $numUnzipped');

  // After unzipping via UnzipInto, we have this:

  // c:\temp\testUnzipDir\a1.xml
  // c:\temp\testUnzipDir\b1.xml
  // c:\temp\testUnzipDir\c1.xml
  // c:\temp\testUnzipDir\a2.xml
  // c:\temp\testUnzipDir\c2.xml
  // c:\temp\testUnzipDir\c3.xml

  zip.closeZip();

  print('Success.');
}