USO DE IRONZIP

Cómo descomprimir un archivo en un directorio en C#

Actualizado 6 de marzo, 2024
Compartir:

Descomprimir archivos programáticamente es una tarea habitual en el desarrollo de software, especialmente cuando se trata de archivos comprimidos. En este artículo, exploraremos cómo extraer archivos de archivos ZIP en C# utilizando el IronZIP biblioteca.

Tanto si está trabajando en una aplicación Windows como en un proyecto .NET, comprender el proceso de descompresión de archivos puede ser muy valioso. Sumerjámonos de lleno y aprendamos a manejar eficazmente archivos ZIP dentro de nuestra base de código C#.

Qué explicará este artículo:

  1. El proceso de instalación de la biblioteca IronZIP
  2. Cómo extraer un archivo ZIP
  3. Cómo extraer un archivo ZIP protegido por contraseña
  4. Cómo crear un archivo ZIP
  5. Cómo crear archivos ZIP protegidos con contraseña

¿Por qué descomprimir archivos?

Los ficheros ZIP, también conocidos como archivos ZIP, son paquetes de varios archivos en un único contenedor comprimido. Descomprimir estos archivos implica extraer los datos comprimidos y restaurarlos a su estado original. Este proceso es esencial cuando se necesita acceder o manipular datos dentro de una aplicación C#. IronZIP agiliza esta tarea proporcionando métodos sencillos para gestionar los datos comprimidos.

¿Qué es IronZIP?

IronZIP es una potente biblioteca de archivos ZIP en C# que facilita creando, Leyendo y extrayendo archivos en aplicaciones .NET. Ya sea que necesite comprimir archivos, extraer datos de archivos existentes o administrar sus archivos ZIP, IronZIP proporciona una API fácil de usar para lograr estas tareas de manera eficiente. IronZIP simplifica el trabajo con archivos ZIP en sus aplicaciones .NET.

Es compatible con varios formatos de archivo, incluidos ZIP, TAR, GZIP y BZIP2. IronZIP es multiplataforma y compatible con .NET Core, .NET Standard y .NET Framework. Y ofrece funciones avanzadas como **Archivos protegidos por contraseña, niveles de compresión personalizables y gestión de la entrada de archivos.

Cómo extraer archivos a un directorio en C#

Ahora, discutiré algunos ejemplos para extraer de archivos ZIP en C#. Empiece por crear un nuevo proyecto C# en Visual Studio. Elija el tipo de proyecto adecuado (por ejemplo, aplicación de consola, Windows Forms, ASP.NET Core, etc.). A continuación, tenemos que instalar **Paquete NuGet IronZIP.

Instalación de IronZIP mediante el gestor de paquetes NuGet

Para instalar el paquete NuGet IronZIP, puede utilizar el siguiente comando en la consola del gestor de paquetes:

Install-Package IronZip

También puede utilizar la interfaz de usuario del gestor de paquetes de Visual Studio para buscar e instalar el paquete IronZIP.

En su código C#, importe el espacio de nombres IronZIP para acceder a sus clases y métodos.

using IronZip;
using IronZip;
Imports IronZip
VB   C#

Ejemplo de código para extraer archivos ZIP en C#

El siguiente código descomprimirá archivos en el directorio en C#.

IronZipArchive.ExtractArchiveToDirectory(@"E:\Images.zip", "Extracted Images");
IronZipArchive.ExtractArchiveToDirectory(@"E:\Images.zip", "Extracted Images");
IronZipArchive.ExtractArchiveToDirectory("E:\Images.zip", "Extracted Images")
VB   C#

El código anterior lee el archivo ZIP especificado ("E:\Imágenes.zip")descomprime su contenido y coloca los archivos extraídos en el directorio "Imágenes extraídas". La explicación es la siguiente:

Explicación

IronZipArchive hace referencia a la clase proporcionada por la biblioteca IronZIP. Es el principal punto de entrada para trabajar con archivos ZIP en su código C#. ExtraerArchivoADirectorio(...) es un método (o función) que proporciona la clase IronZipArchive. Permite extraer el contenido de un archivo ZIP (en este caso, el archivo "E:\Images.zip") a un directorio especificado (en este caso, el directorio denominado "Imágenes extraídas".).

El método recibe dos parámetros: El primer parámetro (@"E:\Imágenes.zip") es la ruta del archivo ZIP que desea extraer. El segundo parámetro ("Imágenes extraídas") es el directorio en el que desea extraer los ficheros del archivo ZIP.

El sistema de archivos extraído es como:

Salida:

Cómo descomprimir archivos en un directorio en C#: Figura 1 - Archivos extraídos dentro del directorio Extracted Images

Cómo extraer un archivo ZIP protegido con contraseña

IronZIP proporciona el método más sencillo para extraer ZIP encriptado archivos. El siguiente código muestra el ejemplo de extracción de todos los archivos de un archivo comprimido protegido por contraseña.

IronZipArchive.ExtractArchiveToDirectory(@"EncryptedImages.zip", "ExtractedImages", "zipP@55w0rd");
IronZipArchive.ExtractArchiveToDirectory(@"EncryptedImages.zip", "ExtractedImages", "zipP@55w0rd");
IronZipArchive.ExtractArchiveToDirectory("EncryptedImages.zip", "ExtractedImages", "zipP@55w0rd")
VB   C#

El código anterior extrae el contenido del archivo "EncryptedImages.zip" al directorio "ExtractedImages" utilizando IronZIP. También especifica la contraseña "zipP@55w0rd" para el descifrado, indicando que el archivo ZIP está cifrado y requiere la contraseña proporcionada para la extracción. Sobrescribirá los archivos existentes.

Salida:

Cómo descomprimir archivos en un directorio en C#: Figura 2 - Archivos extraídos protegidos por contraseña dentro del directorio de imágenes extraídas

En C# con IronZIP, descomprimir un archivo en un directorio implica aprovechar al máximo las capacidades de la biblioteca IronZIP. Mediante el empleo de funciones como IronZipArchive.ExtractArchiveToDirectory, los desarrolladores pueden extraer fácilmente archivos comprimidos, proporcionando un mecanismo directo para manejar el encabezado del archivo local. Proporciona una forma eficaz de actualizar archivos zip y RAR en sus aplicaciones.

IronZIP también proporciona métodos para crear archivos ZIP en aplicaciones C# y .NET. Vamos a crear un archivo ZIP en C#.

Cómo crear un archivo ZIP

El siguiente ejemplo de código creará un archivo ZIP.

static void Main(string[] args)
{
    using (var archive = new IronZipArchive(9))
    {
        archive.Add(@"E:\Images\image1.png");
        archive.Add(@"E:\Images\image2.png");
        archive.Add(@"E:\Images\image3.png");
        archive.Add(@"E:\Images\image4.png");
        //  Exportar el ZIP
        archive.SaveAs("MyImages.zip");
    }
}
static void Main(string[] args)
{
    using (var archive = new IronZipArchive(9))
    {
        archive.Add(@"E:\Images\image1.png");
        archive.Add(@"E:\Images\image2.png");
        archive.Add(@"E:\Images\image3.png");
        archive.Add(@"E:\Images\image4.png");
        //  Exportar el ZIP
        archive.SaveAs("MyImages.zip");
    }
}
Shared Sub Main(ByVal args() As String)
	Using archive = New IronZipArchive(9)
		archive.Add("E:\Images\image1.png")
		archive.Add("E:\Images\image2.png")
		archive.Add("E:\Images\image3.png")
		archive.Add("E:\Images\image4.png")
		'  Exportar el ZIP
		archive.SaveAs("MyImages.zip")
	End Using
End Sub
VB   C#

El código anterior demuestra el uso de IronZIP para crear un nuevo archivo ZIP (con nivel de compresión 9) y añada varias entradas, cada una de las cuales representará un archivo de imagen (imagen1.png, imagen2.png, imagen3.png e imagen4.png) a partir de las rutas de archivo especificadas.

Por último, el método SaveAs se utiliza para exportar el archivo ZIP creado como 'MyImages.zip' en el directorio especificado. El nivel de compresión 9 indica la máxima compresión, lo que resulta en tamaños de archivo más pequeños pero tiempos de procesamiento potencialmente más largos.

Cómo descomprimir un archivo en un directorio en C#: Figura 3 - El archivo ZIP resultante del código anterior

Cómo crear un archivo ZIP protegido con contraseña

El siguiente código creará un archivo zip protegido por contraseña.

using (var archive = new IronZipArchive(9))
    {
        //  Protege el ZIP con contraseña (soporta AES128 y AES256)
        archive.Encrypt("miPassw0rd", EncryptionMethods.AES256);
        archive.Add(@"E:\Images\image1.png");
        archive.Add(@"E:\Images\image2.png");
       //  Exportar el ZIP
        archive.SaveAs("PasswordProtectedImages.zip");
    }
using (var archive = new IronZipArchive(9))
    {
        //  Protege el ZIP con contraseña (soporta AES128 y AES256)
        archive.Encrypt("miPassw0rd", EncryptionMethods.AES256);
        archive.Add(@"E:\Images\image1.png");
        archive.Add(@"E:\Images\image2.png");
       //  Exportar el ZIP
        archive.SaveAs("PasswordProtectedImages.zip");
    }
Using archive = New IronZipArchive(9)
		'  Protege el ZIP con contraseña (soporta AES128 y AES256)
		archive.Encrypt("miPassw0rd", EncryptionMethods.AES256)
		archive.Add("E:\Images\image1.png")
		archive.Add("E:\Images\image2.png")
	   '  Exportar el ZIP
		archive.SaveAs("PasswordProtectedImages.zip")
End Using
VB   C#

El código anterior demuestra el uso de IronZIP para crear un archivo ZIP protegido por contraseña con un método de cifrado especificado (AES256 en este caso). Se establece la contraseña "miPassw0rd" para proteger el archivo ZIP. A continuación, el código añade dos archivos de imagen (imagen1.png e imagen2.png) de las rutas de archivo especificadas al archivo.

Por último, se utiliza el método SaveAs para exportar el archivo ZIP protegido con contraseña como "PasswordProtectedImages.zip". Esto garantiza la seguridad de los contenidos con la contraseña y el método de cifrado especificados. IronZIP admite AES128, AES256 y métodos tradicionales.

Conclusión

En resumen, este artículo ha cubierto los aspectos esenciales de la manipulación mediante programación de archivos comprimidos en C# utilizando la función IronZIP biblioteca. Desde el proceso de instalación hasta ejemplos prácticos de extrayendo, creando y Asegurando ZIP, los desarrolladores han recibido valiosos consejos. La sencilla API de IronZIP, su compatibilidad multiplataforma y su compatibilidad con métodos de cifrado lo convierten en una solución versátil para gestionar eficazmente archivos zip en diversas aplicaciones C#.

Tanto si se trata de actualizar archivos existentes como de trabajar con archivos protegidos por contraseña, IronZIP agiliza el proceso, ofreciendo un sólido conjunto de herramientas para desarrolladores que buscan capacidades eficaces de manipulación de archivos en sus proyectos C#.

IronZIP ofrece opciones de licencia flexibles, incluida una **Prueba gratuita para un uso prolongado. Los desarrolladores pueden elegir el modelo de licencia que mejor se adapte a los requisitos de su proyecto, garantizando tanto la versatilidad como la comodidad en la implementación de IronZIP en sus aplicaciones C#.

< ANTERIOR
Cómo comprimir archivos en C# con contraseña
SIGUIENTE >
Cómo crear un archivo ZIP a partir de varios archivos en C#

¿Listo para empezar? Versión: 2024.7 recién publicada

Descarga gratuita de NuGet Descargas totales: 2,815 Ver licencias >
123