Java Zip Folder zipFolder(String srcFolder, String destZipFile)

Here you can find the source of zipFolder(String srcFolder, String destZipFile)

Description

zip Folder

License

Apache License

Declaration

public static void zipFolder(String srcFolder, String destZipFile) throws Exception 

Method Source Code


//package com.java2s;
//License from project: Apache License 

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

public class Main {
    public static void zipFolder(String srcFolder, String destZipFile) throws Exception {
        ZipOutputStream zip = null;
        FileOutputStream fileWriter = null;

        fileWriter = new FileOutputStream(destZipFile);
        zip = new ZipOutputStream(fileWriter);

        addFolderToZip("", srcFolder, zip);
        zip.flush();/*from   w  w  w  .j  av a 2  s.  co  m*/
        zip.close();
    }

    private static void addFolderToZip(String path, String srcFolder, ZipOutputStream zip) throws Exception {
        File folder = new File(srcFolder);

        for (String fileName : folder.list()) {
            if (path.equals("")) {
                addFileToZip(folder.getName(), srcFolder + "/" + fileName, zip);
            } else {
                addFileToZip(path + "/" + folder.getName(), srcFolder + "/" + fileName, zip);
            }
        }
    }

    private static void addFileToZip(String path, String srcFile, ZipOutputStream zip) throws Exception {

        File folder = new File(srcFile);
        if (folder.isDirectory()) {
            addFolderToZip(path, srcFile, zip);
        } else {
            byte[] buf = new byte[1024];
            int len;
            FileInputStream in = new FileInputStream(srcFile);
            zip.putNextEntry(new ZipEntry(path + "/" + folder.getName()));
            while ((len = in.read(buf)) > 0) {
                zip.write(buf, 0, len);
            }
        }
    }
}

Related

  1. zipFolder(final File srcFolder, final OutputStream out)
  2. zipFolder(final String srcFolder, final String destZipFile)
  3. zipFolder(String sourceDir, String destDir, String name)
  4. zipFolder(String sourceFolder, String target)
  5. zipFolder(String srcFolder, String destZipFile)
  6. zipFolder(String srcFolder, String destZipFile)
  7. zipFolder(String srcFolder, String destZipFile, boolean addBaseFolder)
  8. zipFolder(String srcFolderPath, String outputZipPath)
  9. zipFolder(ZipOutputStream zipOut, File folder, File root)