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

Unzip Some Files by Iterating over Entries

See more Zip Examples

Demonstrates how to unzip specific files by iterating over entries in a .zip.

Chilkat React Native Downloads

React Native
import { StringBuilder, Zip, ZipEntry } from '@chilkat/react-native'

async function chilkatExample() {
  // This requires the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  const zip = new Zip();

  // Open a .zip containing:
  // 
  // a1.xml
  // b1.xml
  // c1.xml
  // dir1/a2.xml
  // dir1/c2.xml
  // dir2/dir3/c3.xml

  // We wish to unzip only a1.xml, b1.xml, and c1.xml
  try {
    await zip.openZipAsync('qa_data/zips/xml_files.zip');
  } catch {
    console.log(zip.lastErrorText);
    return;
  }

  const sbFilename = new StringBuilder();

  const entry = new ZipEntry();
  const numEntries = zip.numEntries;
  let i = 0;
  while (i < numEntries) {
    zip.entryAt(i, entry);

    const entryFilePath = entry.fileName;
    console.log(entryFilePath);

    if (!entry.isDirectory) {
      sbFilename.setString(entryFilePath);
      if (!sbFilename.contains('/', false)) {
        // Does not contain "/"
        // Unzip to the qa_output directory.
        try {
          await entry.extractAsync('qa_output');
          console.log(`Unzipped ${entryFilePath}`);
        } catch {
          console.log(`Failed to unzip ${entryFilePath}`);
        }
      }
    }

    i++;
  }
}