Mega Code Archive

 
Categories / Java / File Input Output
 

Zip a list of file into one zip file

import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; public class Utils {   /**    * Zip a list of file into one zip file.    *     * @param files    *          files to zip    * @param targetZipFile    *          target zip file    * @throws IOException    *           IO error exception can be thrown when copying ...    */   public static void zipFile(final File[] files, final File targetZipFile) throws IOException {     try {       FileOutputStream   fos = new FileOutputStream(targetZipFile);       ZipOutputStream zos = new ZipOutputStream(fos);       byte[] buffer = new byte[128];       for (int i = 0; i < files.length; i++) {         File currentFile = files[i];         if (!currentFile.isDirectory()) {           ZipEntry entry = new ZipEntry(currentFile.getName());           FileInputStream fis = new FileInputStream(currentFile);           zos.putNextEntry(entry);           int read = 0;           while ((read = fis.read(buffer)) != -1) {             zos.write(buffer, 0, read);           }           zos.closeEntry();           fis.close();         }       }       zos.close();       fos.close();     } catch (FileNotFoundException e) {       System.out.println("File not found : " + e);     }   } }