Java Zip Files addToZip(String path, String srcFile, ZipOutputStream zip)

Here you can find the source of addToZip(String path, String srcFile, ZipOutputStream zip)

Description

add To Zip

License

Open Source License

Declaration

private static void addToZip(String path, String srcFile, ZipOutputStream zip) throws IOException 

Method Source Code


//package com.java2s;
/*//w  w  w .j  a va 2 s  .  c om
 * 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 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();
            }
        }
    }

    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);
        }
    }
}

Related

  1. addToZip(File directoryToZip, File file, ZipOutputStream zos)
  2. addToZip(File f, int truncate, ZipOutputStream os, byte[] buff)
  3. addToZip(File file, ZipOutputStream out, String folder)
  4. addToZip(File input, String entryName, ZipOutputStream zos, boolean withHidden, Set excludeEntries)
  5. addToZip(String path, String srcFile, ZipOutputStream zip)
  6. addToZip(String[] sourceFiles, ZipOutputStream output)
  7. addToZip(ZipOutputStream zos, String rootDirectoryName, String fileName)
  8. addToZipFile(InputStream source, String entryName, ZipOutputStream zos)
  9. addToZipFile(String fileName, ZipOutputStream zos)