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

Remove an Entry from an Existing ZIP Using DeleteEntry

See more Zip Examples

This example demonstrates how to use the DeleteEntry method to remove a file from an existing ZIP archive.

The example:

  • Creates a ZIP archive containing three text files
  • Opens the ZIP archive for modification
  • Finds and deletes one entry
  • Writes the modified ZIP archive to a new filename

Suppose the original ZIP archive contains:

a.txt
b.txt
c.txt

After deleting b.txt, the modified ZIP archive contains:

a.txt
c.txt

The entry is removed only from the in-memory ZIP object until a Write* method is called.

Chilkat Java Downloads

Chilkat2 Java
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;

        // ------------------------------------------------------------
        // First create a ZIP archive containing three text files.

        Zip zip = new Zip();

        try {
            zip.newZip("original.zip");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        String charset = "utf-8";

        try {
            zip.addString("a.txt", "Contents of file A", charset);

            zip.addString("b.txt", "Contents of file B", charset);

            zip.addString("c.txt", "Contents of file C", charset);

            // Write the ZIP archive to disk.
            //
            // The ZIP now contains:
            //
            //     a.txt
            //     b.txt
            //     c.txt
            //
            zip.writeZipAndClose();
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // ------------------------------------------------------------
        // Open the existing ZIP archive for modification.

        Zip zip2 = new Zip();

        try {
            zip2.openZip("original.zip");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // Find the entry named "b.txt".
        ZipEntry entry = new ZipEntry();

        success = zip2.entryOf("b.txt", entry);
        if (!success) {
            System.out.println(zip2.getLastErrorText());
            return;
        }

        // Remove the entry from the in-memory ZIP object.
        //
        // At this point, the original ZIP file on disk is unchanged.
        // The deletion takes effect only after WriteZip or
        // WriteZipAndClose is called.
        try {
            zip2.deleteEntry(entry);

            // Write the modified ZIP archive to a new file.
            zip2.setFileName("modified.zip");

            zip2.writeZipAndClose();
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // The modified ZIP now contains:
        //
        //     a.txt
        //     c.txt
        //

        System.out.println("ZIP archive updated successfully.");
    }
}