Sample code for 30+ languages & platforms
Dart

Add Files to a ZIP Using AddFile

See more Zip Examples

This example demonstrates how to use the AddFile method to add files from the local filesystem to a ZIP archive.

The example adds two files:

  • One file with its relative directory path preserved
  • One file stored using only its filename

The AddFile method adds references to local filesystem files. The files are not actually read or compressed until a Write* method is called.

Chilkat Dart Downloads

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

void main() {
  final zip = CkZip();

  try {
    zip.newZip('addFileExample.zip');
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  // Add a file and preserve its relative directory structure
  // within the ZIP archive.
  // 
  // The following file:
  //     c:/projects/app/docs/readme.txt
  // 
  // Will be stored in the ZIP as:
  //     projects/app/docs/readme.txt
  // 
  var saveExtraPath = true;
  try {
    zip.addFile('c:/projects/app/docs/readme.txt', saveExtraPath);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  // Add a file using only the filename in the ZIP archive.
  // 
  // The following file:
  //     c:/temp/logo.png
  // 
  // Will be stored in the ZIP as:
  //     logo.png
  // 
  saveExtraPath = false;
  try {
    zip.addFile('c:/temp/logo.png', saveExtraPath);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  // Write the ZIP archive to disk and close it.
  // The source files are consumed at this time.
  try {
    zip.writeZipAndClose();
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  print('ZIP archive created successfully.');
}