Sample code for 30+ languages & platforms
Java

Open a Zip Archive

See more Zip Examples

Demonstrates how to open a zip, or an encrypted .zip, or a legacy password-protected .zip.

Chilkat Java Downloads

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

public class ChilkatExample {

    public static void main(String[] args) {
        Zip zip = new Zip();

        // Open a non-encrypted .zip
        try {
            zip.openZip("qa_data/zips/sample.zip");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        System.out.println("Num entries = " + zip.getNumEntries());

        // ...
        // ...

        zip.closeZip();

        // ----------------------------------------------------------------------------
        // Open an encrypted zip...

        // The two main types of encryption used in ZIP archives are Password-Protected and AES.
        //

        // ---------------------------------------
        // 1. Legacy Password-Protected Zip
        //
        // This is the older and less secure method of encrypting ZIP archives.
        // It provides a basic level of security, but is considered weak by modern standards.
        // It is vulnerable to various attacks, including known-plaintext attacks and brute force attacks.
        // Although Chilkat allows it, you shouldn't create new zip archives using legacy password-protection.

        // ---------------------------------------
        // 2. AES Encrypted Zip
        //
        // AES encryption is a more modern and secure method for encrypting ZIP archives.
        // It provides strong encryption based on the AES algorithm, which is widely regarded as secure.
        // AES supports different key lengths, typically 128-bit, 192-bit, and 256-bit.

        // When opening an encrypted zip, your application only needs to provide the correct password.
        // The information about the type of encryption and the key length (if AES) is already embedded within the encrypted .zip.

        // Provide the decrypt password because we are opening an existing .zip (decrypting)
        zip.setDecryptPassword("thePassword");

        try {
            zip.openZip("qa_data/zips/encryptedSamples/ziptest_256.zip");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        System.out.println("Num entries = " + zip.getNumEntries());

        // ...
        // ...

        zip.closeZip();
    }
}