Cómo descomprimir archivos .zip en .net (C#)

Después de dos años sin ser actualizado este blog por los miembros del equipo, en concreto unos cuatro o cinco años por mi parte, vuelvo a la carga con un nuevo post.

Debido a cambios en mi vida laboral, después de unos cuantos años vuelvo a retomar la programación en C#, por lo que tengo que refrescar unas cosas y aprender otras nuevas. En la parte de aprender nuevas hoy he descubierto cómo se puede descomprimir un archivo .zip con .NET.

Es muy sencillo, tan solo necesitamos la librería open source SharpZipLib, que podéis encontrar en este enlace  http://www.icsharpcode.net/OpenSource/SharpZipLib/Download.aspx.

Hay que descomprimir el archivo y copiar la .dll en algún directorio de tu proyecto. En concreto he usado la librería que se encuentra en la carpeta "net-20". Entonces agregas la referencia a esta librería (Botón derecho -> Agregar Referencia -> Examinar) y usas un sencillo método:

FastZip fZip = new FastZip();
fZip.ExtractZip(@”C:\miarchivo.zip”, @”C:\Temp”, “”);
El primer argumento es la ruta completa del archivo a descomprimir. El segundo argumento es la ruta donde queremos descomprimir el contenido del archivo. El tercer argumento, que en este caso está vacío, se puede usar para poner expresiones regulares que indiquen qué tipo de archivos queremos descomprimir; si lo dejamos en blanco se extraerán todos los archivos. Un ejemplo de expresión regular para descomprimir sólo las imágenes: “(?i)^.*(?:(?:.jpg)|(?:.png))$” .
 
 
 
Fuente: http://robertoyudice.wordpress.com/2009/05/10/como-descomprimir-archivos-zip-en-net-c/

Edito: Como bien indican en los comentarios, se me olvidó comentar que hay que añadir el "using" de la librería al principio:
using ICSharpCode.SharpZipLib.Zip;
 Gracias por vuestros comentarios.

7 comentarios:

Anónimo 26 de agosto de 2012, 22:19  

Me funcionó perfectamente, gracias amigo!

David Bernad 27 de agosto de 2012, 0:39  

Gracias a ti por leernos y dejarnos un comentario.

Un saludo!!

fran saez 19 de septiembre de 2012, 13:54  

A mi también me funciono! gracias por el aporte. Un saludo!

Ogeid 1 de noviembre de 2012, 10:25  

Genial!!!

como comentario, hay que poner:

using ICSharpCode.SharpZipLib.Zip;

para los archivos ZIP.

Anónimo 10 de enero de 2013, 12:22  

muchas gracias funciona perfecto agregandole el using correspndiente:
using ICSharpCode.SharpZipLib.Zip;

Sonia 19 de octubre de 2013, 10:23  

Fácil, sencillo y funciona perfectamente.

Muchisimas gracias por la información.

Saludos.

Anónimo 10 de noviembre de 2014, 12:48  

Cesar

A casi finales del 2014 encontre tu aporte muy util graciasss

Buscar este blog

Seguidores

Blogs amigos