/***** 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.CRC32; import java.util.zip.CheckedInputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; class ExempleCRC32ChecksumZip { 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 CRC32()); // 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 contrôle de redondance cyclique CRC32 System.out.println("La somme de contrôle CRC32 est: " + checksum.getChecksum().getValue()); } catch(IOException ex) { System.out.println("IOException :" + ex); } } } /* Tapez le chemin complet du fichier zip: D:Mon Javafichier.zip Voici le fichier extrait du zip: fichier.pdf La somme de contrôle CRC32 est: 80405801 */ |
Cet article Java-source: Extraire un fichier zip avec la somme de contrôle CRC32 est apparu en premier sur .