Java Zip Folder zipFolder(ZipOutputStream zipOut, File folder, File root)

Here you can find the source of zipFolder(ZipOutputStream zipOut, File folder, File root)

Description

zip Folder

License

Open Source License

Declaration

public static void zipFolder(ZipOutputStream zipOut, File folder, File root) throws IOException 

Method Source Code

//package com.java2s;
/**//from ww w  .  j  a  v a  2s  .c  o m
 * eAdventure (formerly <e-Adventure> and <e-Game>) is a research project of the
 *    <e-UCM> research group.
 *
 *    Copyright 2005-2010 <e-UCM> research group.
 *
 *    You can access a list of all the contributors to eAdventure at:
 *          http://e-adventure.e-ucm.es/contributors
 *
 *    <e-UCM> is a research group of the Department of Software Engineering
 *          and Artificial Intelligence at the Complutense University of Madrid
 *          (School of Computer Science).
 *
 *          C Profesor Jose Garcia Santesmases sn,
 *          28040 Madrid (Madrid), Spain.
 *
 *          For more info please visit:  <http://e-adventure.e-ucm.es> or
 *          <http://www.e-ucm.es>
 *
 * ****************************************************************************
 *
 *  This file is part of eAdventure, version 2.0
 *
 *      eAdventure 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.
 *
 *      eAdventure 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 Lesser General Public License for more details.
 *
 *      You should have received a copy of the GNU Lesser General Public License
 *      along with eAdventure.  If not, see <http://www.gnu.org/licenses/>.
 */

import java.io.*;

import java.util.zip.ZipEntry;

import java.util.zip.ZipOutputStream;

public class Main {
    /**
     * Size of buffer for stream operations
     */
    private static final int BUFFER_SIZE = 1024;

    public static void zipFolder(ZipOutputStream zipOut, File folder, File root) throws IOException {
        byte[] data = new byte[BUFFER_SIZE];
        String prefix = root.getAbsolutePath();
        for (File f : folder.listFiles()) {
            if (f.isDirectory()) {
                zipFolder(zipOut, f, root);
            } else {
                zipOut.putNextEntry(new ZipEntry(f.getAbsolutePath().substring(prefix.length())));
                FileInputStream in = new FileInputStream(f);
                int len;
                while ((len = in.read(data)) != -1) {
                    zipOut.write(data, 0, len);
                }
                in.close();
            }
        }
    }
}

Related

  1. zipFolder(String srcFolder, String destZipFile)
  2. zipFolder(String srcFolder, String destZipFile)
  3. zipFolder(String srcFolder, String destZipFile)
  4. zipFolder(String srcFolder, String destZipFile, boolean addBaseFolder)
  5. zipFolder(String srcFolderPath, String outputZipPath)
  6. zipFolder2(ZipOutputStream zos, String folderName, String baseFolderName)