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