lunes, 14 de abril de 2008

Crear y leer archivos ZIP en aplicaciones .Net

DotNetZip es un biblioteca open source que permite comprimir y extraer archivos zip. A diferencia de la librería System.IO.Compression, es más versátil y muy fácil de usar. Lo único que se necesita es bajar el archivo binario (DLL, menos de 20k) o el código fuente y agregarlo a nuestra solución.
Soporta el framework 2.0, 3.0 y 3.5.

Ejemplos

Comprimir un directorio (recursivo, incluye subdirectorios):

using (ZipFile zip = new ZipFile(args[0]))
{
  zip.AddDirectory(DirectoryName);
  zip.Save();
}
 


Comprimir múltiples archivos en diferentes directorios:

using System;
using Ionic.Utils.Zip; 
 
public class Example2
{
  public static void Main(String[] args)
  {
    try
    {
      using (ZipFile zip = new ZipFile("test2.zip"))
      {
 
        zip.AddItem("c:\\downloads\\vacaciones01.jpg", "images");
        zip.AddItem("c:\\Trabajo\\Specs_Lic2008.pdf", "files\\documents");
        zip.AddItem("test2.cs", "files\\text");
    
        zip.Save();
      }
    }
    catch (System.Exception ex1)
    {
      System.Console.Error.WriteLine("exception: " + ex1);
    }
  }
}
 
 


Extraer todo el contenido de un archivo .ZIP

using (ZipFile zip = ZipFile.Read(zipfile))
{
  zip.ExtractAll();
}
 
 

2 comentarios:

Alex dijo...

He obrado con una infinidad zip files. Pero he casualmente chocado con - recuperar arquivo zip. El programa asombra gran cantidad las possibilidades. Por ejemplo el resurso ha restituido a mis documentos corrompidos. Ademas el instrumento puede resolver este problema eficazmente y recuperar zip archives.

Claudia dijo...

Que buena librería. Tenía problema para comprimir un archivo txt con un nombre diferente. Si renombraba el zip, me renombraba el txt y le quitaba la extensión.

Gracias. Me fue de mucha utilidad


Artículos relacionados