Sample code for 30+ languages & platforms
Java

Unzip a ZIP Entry Directly into a BinData Object Using ZipEntry.UnzipToBd

See more Zip Examples

This example demonstrates how to use the ZipEntry.UnzipToBd method to inflate a ZIP entry directly into a BinData object.

The entry contents are uncompressed entirely in memory without creating a file on disk.

This is useful when:

  • Processing ZIP entry data entirely in memory
  • Avoiding temporary filesystem files
  • Working with binary files such as images, PDFs, or certificates
  • Passing uncompressed ZIP data directly to other APIs

The example opens a ZIP archive, locates a PDF entry, inflates it into a BinData object, and then writes the uncompressed bytes to a new file.

Suppose the ZIP archive contains:

docs/report.pdf

The entry is uncompressed directly into memory before optionally being saved to:

qa_output/report.pdf

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.BinData;
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Zip;
import com.chilkatsoft.chilkat2.ZipEntry;

public class ChilkatExample {

    public static void main(String[] args) {
        boolean success = false;

        Zip zip = new Zip();

        // Open an existing ZIP archive.
        try {
            zip.openZip("qa_data/zips/documents.zip");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // Locate the PDF entry within the ZIP archive.
        ZipEntry entry = new ZipEntry();

        success = zip.entryOf("docs/report.pdf", entry);
        if (!success) {
            System.out.println("ZIP entry not found.");
            zip.closeZip();
            return;
        }

        // ------------------------------------------------------------
        // Inflate the ZIP entry directly into a BinData object.
        //
        // The uncompressed bytes are stored entirely in memory.
        //
        BinData pdfData = new BinData();

        try {
            entry.unzipToBd(pdfData);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        System.out.println("Uncompressed size = " + pdfData.getNumBytes());
        System.out.println("");

        // ------------------------------------------------------------
        // Optionally save the uncompressed bytes to a file.
        //
        try {
            pdfData.writeFile("qa_output/report.pdf");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        zip.closeZip();

        System.out.println("PDF extracted successfully.");
    }
}