using System.IO.Compression;
public bool compresserFichier(string cheminSource, string cheminDestination)
// cheminSource : chemin complet du fichier à compresser
// cheminDestination : chemin complet du fichier compressé à créer
{
try
{
// Le fichier est placé dans le FileStream
FileStream monFileStream = new FileStream(cheminSource, FileMode.Open);
byte[] monBuffer = new byte[monFileStream.Length];
// Lecture de l'intégralité du FileStream
monFileStream.Read(monBuffer, 0, System.Convert.ToInt32(monFileStream.Length));
// Fermeture du FileStream
monFileStream.Close();
// Création du fichier qui va contenir le fichier compressé
monFileStream = new FileStream(cheminDestination, FileMode.Create);
// Compression des données
GZipStream monGZipStream = new GZipStream(monFileStream, CompressionMode.Compress, false);
// Ecriture des données compressées dans le fichier de destination
monGZipStream.Write(monBuffer, 0, monBuffer.Length);
// Fermeture du GZipStream
monGZipStream.Close();
return true;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return false;
}
}
public bool compresserFichier(string cheminSource, string cheminDestination)
// cheminSource : chemin complet du fichier à compresser
// cheminDestination : chemin complet du fichier compressé à créer
{
try
{
// Le fichier est placé dans le FileStream
FileStream monFileStream = new FileStream(cheminSource, FileMode.Open);
byte[] monBuffer = new byte[monFileStream.Length];
// Lecture de l'intégralité du FileStream
monFileStream.Read(monBuffer, 0, System.Convert.ToInt32(monFileStream.Length));
// Fermeture du FileStream
monFileStream.Close();
// Création du fichier qui va contenir le fichier compressé
monFileStream = new FileStream(cheminDestination, FileMode.Create);
// Compression des données
GZipStream monGZipStream = new GZipStream(monFileStream, CompressionMode.Compress, false);
// Ecriture des données compressées dans le fichier de destination
monGZipStream.Write(monBuffer, 0, monBuffer.Length);
// Fermeture du GZipStream
monGZipStream.Close();
return true;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return false;
}
}