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

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

Description

add Folder To Zip

License

Open Source License

Declaration

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

Method Source Code


//package com.java2s;
/*/*  www . j a  v a2  s. c  o m*/
 * JGrass - Free Open Source Java GIS http://www.jgrass.org 
 * (C) HydroloGIS - www.hydrologis.com 
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

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, String srcFolder, ZipOutputStream zip, boolean addFolder)
            throws IOException {
        File folder = new File(srcFolder);
        String listOfFiles[] = folder.list();
        for (int i = 0; i < listOfFiles.length; i++) {
            String folderPath = null;
            if (path.length() < 1) {
                folderPath = folder.getName();
            } else {
                folderPath = path + File.separator + folder.getName();
            }
            String srcFile = srcFolder + File.separator + listOfFiles[i];
            addToZip(folderPath, srcFile, zip);
        }
    }

    private static void addToZip(String path, String srcFile, ZipOutputStream zip) throws IOException {
        File folder = new File(srcFile);
        if (folder.isDirectory()) {
            addFolderToZip(path, srcFile, zip, true);
        } else {
            byte[] buf = new byte[1024];
            int len;
            FileInputStream in = null;
            try {
                in = new FileInputStream(srcFile);
                zip.putNextEntry(new ZipEntry(path + File.separator + folder.getName()));
                while ((len = in.read(buf)) > 0) {
                    zip.write(buf, 0, len);
                }
            } finally {
                if (in != null)
                    in.close();
            }
        }
    }
}

Related

  1. addFolderToZip(String path, File srcFolder, ZipOutputStream zip)
  2. addFolderToZip(String path, File srcFolder, ZipOutputStream zip, String destZipFile)
  3. addFolderToZip(String path, String srcFolder, ZipOutputStream zip)
  4. addFolderToZip(String path, String srcFolder, ZipOutputStream zip)
  5. addFolderToZip(String path, String srcFolder, ZipOutputStream zip)
  6. addFolderToZip(String path, String srcFolder, ZipOutputStream zip, boolean includeFullPath)
  7. addFolderToZip(String pathInsideZip, final File folderToZip, final ZipOutputStream outZip)
  8. doZip(File fileIn, String fileOut)
  9. doZip(Map zipStructure, File zipFile)