
{filelink=764}
/***** Code de MesExemples.com *******/
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.CRC32;
import java.util.zip.CheckedOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
import java.util.Scanner;
import java.io.File;
class CompressionAvecCRC32Checksum
{
public static void main(String args[])
{
Scanner input=new Scanner(System.in);
System.out.println ("Tapez le chemin complet de fichier à
compressé...: ");
String fichier_zip = "";
String fichier_source = "";
fichier_source=input.nextLine();
if(!new File(fichier_source).exists())
{
System.out.println ("Le fichier est introuvable, vérifiez le chemin");
return;
}
System.out.println ("Tapez le nom de fichier compressé...: ");
fichier_zip=input.nextLine();
byte[] buffer = new byte[1024];
try
{
FileOutputStream fout = new FileOutputStream(fichier_zip);
CheckedOutputStream checksum = new CheckedOutputStream(fout, new CRC32());
// Créer un objet ZipOutputStream pour la compression des données
ZipOutputStream out_zip = new ZipOutputStream(checksum);
// Créer un objet FileInputStream pour la lecture de fichier à compresser
FileInputStream fin = new FileInputStream(fichier_source);
out_zip.putNextEntry(new ZipEntry(fichier_source));
int length;
// Commencer la compression des données
while((length = fin.read(buffer)) > 0)
{
out_zip.write(buffer, 0, length);
}
out_zip.closeEntry();
//Fermer les flux
fin.close();
out_zip.close();
System.out.println("Le fichier zip a été crée avec succès");
// Afficher le checksum généré
System.out.println("Le Checksum CRC32 égale : " +
checksum.getChecksum().getValue());
}
catch(IOException ex)
{
System.out.println("IOException : " + ex);
}
}
}