Ejemplos rápidos: Como comprimir un archivo con GZipStream
El espacio de nombres System.IO.Compression dispone de una class GZipStream que se puede utilizar para comprimir archivos de forma rápida.
Este ejemplo crear un archivo .Zip:
string carpeta = @"C:\";
string archivo = "texto.txt";
using (FileStream fOrigen = File.OpenRead(Path.Combine(path, archivo)))
{
using (FileStream fDestino = File.Create(Path.Combine(path, archivo + ".zip")))
{
byte[] buffer = new byte[fOrigen.Length];
fOrigen.Read(buffer, 0, buffer.Length);
using (GZipStream output = new GZipStream(fDestino, CompressionMode.Compress))
{
output.Write(buffer, 0, buffer.Length);
}
}
}
Codigo VB (conversión por http://labs.developerfusion.co.uk/convert/csharp-to-vb.aspx)
Dim carpeta As String = "C:\"
Dim archivo As String = "texto.txt"
Using fOrigen As FileStream = File.OpenRead(Path.Combine(path, archivo))
Using fDestino As FileStream = File.Create(Path.Combine(path, archivo + ".zip"))
Dim buffer As Byte() = New Byte(fOrigen.Length - 1)
fOrigen.Read(buffer, 0, buffer.Length)
Using output As New GZipStream(fDestino, CompressionMode.Compress)
output.Write(buffer, 0, buffer.Length)
End Using
End Using
End Using