domenica 8 dicembre 2013

Esempio zip file con Java 7

Di seguito un esempio su come zippare un file in Java utilizzando le features della Java7 in particolare:
  1. Il try with resources, che ci risparmia la fatica di dover chiudere gli stream aperti, basta dichiarare tutte le aperture nel blocco di parentesi tonde del try;
  2. Le suppressed exceptions, ossia la possibilità di farsi stampare nel catch anche tutte le altre eccezioni eventualmente riscontrate nel blocco delle parentesi tonde del try. 
Esempio


package it.varie;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class ZipFile {
public static final int CHUNK=1024;
public static final String DIR="C:\\lav\\workspace\\wsTest\\Java7Cert\\src\\";
public static void main(String[] args) {
  if(args.length==0){
   System.err.println("Attenzione passare come parametro il nome file");
   System.exit(-1);
  }
  String fileName=args[0];
  String zipFileName=fileName+".zip";
  byte[] buffer=new byte[CHUNK];
  try( ZipOutputStream zipFile=new ZipOutputStream(new FileOutputStream(zipFileName));
    FileInputStream fis=new FileInputStream(DIR+fileName);
    )
    {
            zipFile.putNextEntry(new ZipEntry(zipFileName));
            int lenRead=0;
            while((lenRead=fis.read(buffer))>0){
             zipFile.write(buffer, 0, lenRead);
            }
    }
  catch(Exception e){
   System.out.println("Eccezione: "+e);
   System.out.println("Eventuali eccezioni soppresse");
   for(Throwable t: e.getSuppressed()){
    System.out.println(t);
   }
  }
 }
}


Nessun commento:

Posta un commento