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

Unzip an AES Encrypted Text File directly into a String Variable

See more Zip Examples

A common need is to unzip from an AES encrypted Zip archive directly into a string variable, such that the unencrypted file never resides on disk, even temporarily. This example shows how to do it.

Chilkat Dart Downloads

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

void main() {
  var success = false;

  // This example requires the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  final zip = CkZip();

  // This example opens a WinZip-compatible AES encrypted
  // .zip that contains a single file: hamlet.xml.

  // It decrypts and unzips hamlet.xml directly into a string
  // variable.
  zip.setPassword('secret');
  try {
    zip.openZip('qa_data/hamlet.zip');
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  final entry = CkZipEntry();
  success = zip.entryOf('hamlet.xml', entry);
  if (!success) {
    print(zip.lastErrorText);
    return;
  }

  // lineEndingBehavior:
  // 0 = leave unchanged.
  // 1 = convert all to bare LF's
  // 2 = convert all to CRLF's
  final lineEndingBehavior = 0;
  final srcCharset = 'utf-8';
  final xmlText = entry.unzipToString(lineEndingBehavior, srcCharset);
  print(xmlText);
}