[2.0] Comprimir un fichero usando GZip

2040 vistas

Primero tenemos que añadir los siguientes "Imports"



csharp
  1. using System.IO;
  2. using System.IO.Compression;



La siguiente función recibirá por parámetro el camino completo del fichero a comprimir y el camino completo de destino del fichero GZip que se creará.



csharp
  1. public bool compresFile(string pathSource, string pathDestination)
  2. {
  3.   try {
  4.     FileStream miFileStream = new FileStream(pathSource, FileMode.Open);
  5.     byte[] miBuffer = new byte[miFileStream.Length];
  6.     miFileStream.Read(miBuffer, 0, System.Convert.ToInt32(miFileStream.Length));
  7.     miFileStream.Close();
  8.     miFileStream = new FileStream(pathDestination, FileMode.Create);
  9.     GZipStream miGZipStream = new GZipStream(miFileStream, CompressionMode.Compress, false);
  10.     miGZipStream.Write(miBuffer, 0, miBuffer.Length);
  11.     miGZipStream.Close();
  12.     return true;
  13.   } catch (Exception ex) {
  14.     return false;
  15.   }
  16. }