/***** Code de MesExemples.com *******/ import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.io.File; import java.util.Scanner; import java.util.zip.Adler32; import java.util.zip.CheckedInputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; class ExempleAdler32ChecksumZip { public static void main(String args[]) { // Récupérer le hcemin du fichier Scanner input=new Scanner(System.in); System.out.println ("Tapez le chemin complet du fichier zip: "); String zipFile=input.nextLine(); // Quitter le programme si le fichier n'existe pas if(!new File(zipFile).exists()) { System.out.println ("Ce fichier b'existe pas"); return; } try { //Créer un lecteur de fichier FileInputStream fin = new FileInputStream(zipFile); //Créer un objet Checksum pour le lecteur de fichier CheckedInputStream checksum = new CheckedInputStream(fin,new Adler32()); // Extraire le fichier et l'enregistrer dans le dossier courant ZipInputStream inZipper = new ZipInputStream(checksum); ZipEntry entry = inZipper.getNextEntry(); // Extraire le permier fichier OutputStream os = new FileOutputStream(entry.getName()); byte[] buffer = new byte[1024]; int length; while( (length = inZipper.read(buffer)) > 0) { os.write(buffer, 0, length); } //Fermer le stream et le fichier zip os.close(); inZipper.close(); System.out.println("Voici le fichier extrait du zip: "+entry.getName()); // Calculer le checksum Adler32 System.out.println("La somme de contrôle Adler32 est: " + checksum.getChecksum().getValue()); } catch(IOException ex) { System.out.println("IOException :" + ex); } } } /* Tapez le chemin complet du fichier zip: D:Mon JavaCore Java For JDK6.0 Full.zip Voici le fichier extrait du zip: PH,.Core.Java.Volume-I.Fundamentals.(2007),.8Ed.BBL.[0132354764].pdf La somme de contrôle Adler32 est: 2547720509 */ |
Cet article Java-source: Extraire un fichier zip avec la somme de contrôle Adler32 est apparu en premier sur .