Java Zip File List ZipFiles(String destination, Vector files)

Here you can find the source of ZipFiles(String destination, Vector files)

Description

Compress a list of files in a .zip file

License

Open Source License

Parameter

Parameter Description
destination the path to the destination ZIP file
files list of string with the paths to the files to be compressed

Declaration

public static void ZipFiles(String destination, Vector files) 

Method Source Code

//package com.java2s;
/***********************************************************************
    //from ww  w. ja  v  a2s .  c  o m
   This file is part of KEEL-software, the Data Mining tool for regression, 
   classification, clustering, pattern mining and so on.
    
   Copyright (C) 2004-2010
       
   F. Herrera (herrera@decsai.ugr.es)
L. S?nchez (luciano@uniovi.es)
J. Alcal?-Fdez (jalcala@decsai.ugr.es)
S. Garc?a (sglopez@ujaen.es)
A. Fern?ndez (alberto.fernandez@ujaen.es)
J. Luengo (julianlm@decsai.ugr.es)
    
   This program is free software: you can redistribute it and/or modify
   it under the terms of the GNU 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 General Public License
   along with this program.  If not, see http://www.gnu.org/licenses/
      
**********************************************************************/

import java.io.*;
import java.util.*;
import java.util.zip.*;

public class Main {
    /**
     * Compress a list of files in a .zip file
     * @param destination the path to the destination ZIP file
     * @param files list of string with the paths to the files to be compressed
     */
    public static void ZipFiles(String destination, Vector files) {

        // compress in .zip file
        byte[] buf = new byte[1024];
        try {

            ZipOutputStream out = new ZipOutputStream(new FileOutputStream(destination));

            // compress files
            for (int i = 0; i < files.size(); i++) {

                String fichero = (String) files.elementAt(i);
                File file = new File(fichero);

                if (file.isDirectory()) {
                    out.putNextEntry(new ZipEntry(fichero));
                    out.closeEntry();
                } else {
                    FileInputStream in = new FileInputStream(fichero);
                    out.putNextEntry(new ZipEntry(fichero));

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

                    out.closeEntry();
                    in.close();
                }
            }

            // close zip file
            out.close();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Related

  1. zipFiles(File[] listFiles2Zip, File output)
  2. zipFiles(final File outputFile, final File[] files)
  3. zipFiles(List files, File output)
  4. zipFiles(List files, OutputStream os)
  5. zipFiles(List srcfile, File zipfile)
  6. zipFiles(String filename, String[] files)
  7. zipFiles(String files[], String fielPath)
  8. zipFiles(String filesPathToZip, String pathToSave)
  9. zipFiles(String output, String sDir, String sSearch)