Java-source: Extraire un fichier zip avec la somme de contrôle Adler32

Author:

Java-source: Extraire un fichier zip avec la somme de contrôle Adler32
{filelink=762}

/***** 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
*/

Leave a Reply

Your email address will not be published. Required fields are marked *