Create archive or zip using Java

With this example I will show you how to create an archive or zip from multiple files using Java language.

If you already have an idea on how to create a maven project in Eclipse will be great otherwise I will tell you here how to create a maven project in Eclipse. Prerequisites

The following things are required in order to run the application
Eclipse Kepler
JDK 1.8
Have maven 3 installed and configured
Now we will see the below steps how to create a maven based spring project in Eclipse
Step 1. Create a standalone maven project in Eclipse

Go to File -> New -> Other. On popup window under Maven select Maven Project. Then click on Next. Select the workspace location – either default or browse the location. Click on Next. Now in next window select the row as highlighted from the below list of archtypes and click on Next button.

Now enter the required fields (Group Id, Artifact Id) as shown below
Group Id : com.roytuts
Artifact Id : java
Step 2. Modify the pom.xml file as shown below.

<project xmlns="" xmlns:xsi=""
        <!-- junit -->

Step 3. Create a method to create archieve or zip from multiple files

package com.roytuts.archieve;
import java.util.List;
public class Archieve {
    public static void createZipFromFiles(final String zipFileName, final List<File> files) {
        FileOutputStream fos = null;
        ZipOutputStream zos = null;
        try {
            byte[] buffer = new byte[1024];
            fos = new FileOutputStream(zipFileName);
            zos = new ZipOutputStream(fos);
            if (files != null) {
                for (File file : files) {
                    FileInputStream fs = new FileInputStream(file);
                    zos.putNextEntry(new ZipEntry(file.getName()));
                    int length;
                    while ((length = > 0) {
                        zos.write(buffer, 0, length);
        } catch (Exception e) {
        } finally {
            try {
                if (zos != null) {
            } catch (Exception e) {
            try {
                if (fos != null) {
            } catch (Exception e) {

Step 4. Create a junit test case

package com.roytuts.archieve;
import java.util.ArrayList;
import java.util.List;
import org.junit.Before;
import org.junit.Test;
public class ArchieveTest {
    private List<File> files;
    public void setUp() throws Exception {
        files = new ArrayList<File>();
        File f1 = new File("D:/test.sql");
        File f2 = new File("D:/website.sql");
        File f3 = new File("D:/school.sql");
    public void testCreateZipFromFiles() {
        Archieve.createZipFromFiles("D:/", files);

Step 5. Now run the junit test class, you will get the zip output in “D” drive.

Thanks for reading.

Leave a Reply

Your email address will not be published. Required fields are marked *