Java Zip Folder addFolderToZip(String path, File srcFolder, ZipOutputStream zip)

Here you can find the source of addFolderToZip(String path, File srcFolder, ZipOutputStream zip)

Description

add Folder To Zip

License

LGPL

Declaration

private static void addFolderToZip(String path, File srcFolder, ZipOutputStream zip) throws IOException 

Method Source Code


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

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

import java.io.IOException;

import java.util.zip.ZipEntry;

import java.util.zip.ZipOutputStream;

public class Main {
    private static void addFolderToZip(String path, File srcFolder, ZipOutputStream zip) throws IOException {
        if (srcFolder.list().length == 0) {
            addFileToZip(path, srcFolder, zip, true);
        } else {//from w  w  w  .  jav  a 2s  .  co  m
            for (File file : srcFolder.listFiles()) {
                if (path.equals("")) {
                    addFileToZip(srcFolder.getName(), file, zip, false);
                } else {
                    addFileToZip(path + "/" + srcFolder.getName(), file, zip, false);
                }
            }
        }
    }

    private static void addFileToZip(String path, File srcFile, ZipOutputStream zip, boolean flag)
            throws IOException {
        if (flag == true) {
            zip.putNextEntry(new ZipEntry(path + "/" + srcFile.getName() + "/"));
        } else {
            if (srcFile.isDirectory()) {
                addFolderToZip(path, srcFile, zip);
            } else {
                int len;
                byte[] buf = new byte[1024];
                FileInputStream in = new FileInputStream(srcFile);
                String pathPrefix = (!path.equals("")) ? path + "/" : "";
                zip.putNextEntry(new ZipEntry(pathPrefix + srcFile.getName()));

                while ((len = in.read(buf)) > 0) {
                    zip.write(buf, 0, len);
                }

                in.close();
            }
        }
    }
}

Related

  1. addFolderToZip(File folder, String parentFolderName, ZipOutputStream zip)
  2. addFolderToZip(String folderPath, ZipOutputStream out)
  3. addFolderToZip(String path, File srcFolder, ZipOutputStream zip, String destZipFile)
  4. addFolderToZip(String path, String srcFolder, ZipOutputStream zip)
  5. addFolderToZip(String path, String srcFolder, ZipOutputStream zip)
  6. addFolderToZip(String path, String srcFolder, ZipOutputStream zip)