Cómo crear, leer y extraer un archivo Zip en C#

C# Tutorial: Create, Read & Extract ZIP Files

This article was translated from English: Does it need improvement?
Translated
View the article in English

Crear ZIP genera un nuevo archivo ZIP seleccionando archivos o directorios, especificando configuraciones de compresión y creando el archivo.

Extraer ZIP recupera el contenido especificando el archivo ZIP de origen, la carpeta de destino y extrayendo archivos y directorios a la ubicación especificada.

Además de estas funciones, IronZIP también puede abrir un archivo ZIP existente, agregar más archivos y luego exportar el resultado como un nuevo archivo ZIP que contenga todos los archivos incluidos.

Inicio rápido: Cree o Extraiga un ZIP con IronZIP Fácilmente

Comienza rápidamente—crea, modifica o extrae archivos ZIP usando IronZIP con solo unas pocas llamadas a la API. Perfecto para desarrolladores que desean trabajar instantáneamente con archivos sin código adicional.

  1. Instala IronZIP con el Administrador de Paquetes NuGet

    PM > Install-Package IronZip
  2. Copie y ejecute este fragmento de código.

    IronZipArchive.ExtractArchiveToDirectory("project.zip", "outputFolder");
  3. Despliegue para probar en su entorno real

    Comienza a usar IronZIP en tu proyecto hoy mismo con una prueba gratuita

    arrow pointer

Crear un ejemplo de archivo

Para crear un objeto de archivo ZIP, puede usar convenientemente la sentencia using en C# junto con el constructor IronZipArchive. IronZIP hace que este proceso sea sencillo, permitiéndole establecer un archivo ZIP vacío con solo unas pocas líneas de código.

Luego, utilice el método Add para importar sus archivos en el archivo ZIP. Este método le permite agregar archivos desde diversas ubicaciones, incluyendo un directorio completo donde se incluirán todos los archivos dentro de él.

Por último, use el método SaveAs para exportar el archivo ZIP.

:path=/static-assets/zip/content-code-examples/tutorials/create-read-extract-zip-create.cs
using IronZip;

// Create an empty ZIP
using (var archive = new IronZipArchive())
{
    // Add files to the ZIP
    archive.Add("./assets/image1.png");
    archive.Add("./assets/image2.png");

    // Export the ZIP file
    archive.SaveAs("output.zip");
}
Imports IronZip

' Create an empty ZIP
Using archive = New IronZipArchive()
	' Add files to the ZIP
	archive.Add("./assets/image1.png")
	archive.Add("./assets/image2.png")

	' Export the ZIP file
	archive.SaveAs("output.zip")
End Using
$vbLabelText   $csharpLabel

Desarchivar un archivo en una carpeta

Para recuperar el contenido de un archivo ZIP, puede usar el método ExtractArchiveToDirectory. Simplemente indica la ruta del archivo ZIP objetivo y el directorio donde quieres que se coloquen los archivos extraídos.

:path=/static-assets/zip/content-code-examples/tutorials/create-read-extract-zip-extract.cs
using IronZip;

// Extract ZIP
IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted");
Imports IronZip

' Extract ZIP
IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted")
$vbLabelText   $csharpLabel

Agregar archivos a un archivo existente

Puede modificar eficientemente un archivo ZIP existente con archivos adicionales usando IronZIP. El proceso comienza instanciando el objeto de archivo ZIP desde una ruta de archivo ZIP existente. Una vez abierto el archivo, puede usar el método Add para agregar archivos al archivo existente.

:path=/static-assets/zip/content-code-examples/tutorials/create-read-extract-zip-add-files.cs
using IronZip;

// Open existing ZIP
using (var archive = IronZipArchive.FromFile("existing.zip"))
{
    // Add files
    archive.Add("./assets/image3.png");
    archive.Add("./assets/image4.png");

    // Export the ZIP file
    archive.SaveAs("result.zip");
}
Imports IronZip

' Open existing ZIP
Using archive = IronZipArchive.FromFile("existing.zip")
	' Add files
	archive.Add("./assets/image3.png")
	archive.Add("./assets/image4.png")

	' Export the ZIP file
	archive.SaveAs("result.zip")
End Using
$vbLabelText   $csharpLabel

Con esta funcionalidad, puedes actualizar y expandir eficientemente tus archivos ZIP para satisfacer las necesidades cambiantes de tu proyecto. IronZIP hace que el proceso de gestión de archivos en sus proyectos de C# sea muy sencillo.

Un enfoque similar se puede lograr para otros formatos de archivo y compresión como TAR, GZIP y BZIP2 usando las clases IronTarArchive, IronGZipArchive y IronBZip2Archive, respectivamente.

Preguntas Frecuentes

¿Cómo puedo crear un archivo ZIP en C#?

Para crear un archivo ZIP en C#, instancia la clase IronZipArchive de IronZIP. Usa el método Add para agregar archivos o directorios al archivo y el método SaveAs para guardar el archivo. Código de ejemplo: using (var zip = new IronZipArchive()) { zip.Add(@"C:\path\to\directory"); zip.SaveAs(@"C:\path\to\output.zip"); }.

¿Cómo leo y extraigo contenidos de un archivo ZIP en C#?

Puedes leer y extraer contenidos de un archivo ZIP usando la clase IronZipArchive para abrir el archivo ZIP. Utiliza el método ExtractArchiveToDirectory para especificar el directorio de destino para los archivos extraídos. Ejemplo: using (var zip = new IronZipArchive(@"C:\path\to\archive.zip")) { zip.ExtractArchiveToDirectory(@"C:\path\to\output\directory"); }.

¿Puedo agregar archivos a un archivo ZIP existente en C#?

Sí, puedes agregar archivos a un archivo ZIP existente en C#. Abre el ZIP existente usando la clase IronZipArchive, usa el método Add para incluir archivos adicionales y luego guarda el archivo actualizado con el método SaveAs.

¿Qué bibliotecas se pueden usar para el manejo de ZIP en C#?

IronZIP es una biblioteca completa disponible en NuGet para manejar archivos ZIP en C#. Te permite crear, leer y extraer archivos ZIP eficientemente usando clases como IronZipArchive.

¿Cómo manejo otros formatos de compresión como TAR y GZIP en C#?

Además de los archivos ZIP, puedes manejar otros formatos de compresión usando IronZIP. Para TAR, GZIP y BZIP2, usa las clases IronTarArchive, IronGZipArchive y IronBZip2Archive, respectivamente, para manejar estos formatos de manera similar.

¿Cómo puedo empezar a trabajar con archivos ZIP en C#?

Comienza descargando la biblioteca IronZIP desde NuGet. Instancia la clase IronZipArchive para crear o abrir archivos ZIP y usa métodos como Add y ExtractArchiveToDirectory para manejar los archivos.

¿Es posible extraer archivos específicos de un archivo ZIP en C#?

Sí, es posible extraer archivos específicos de un archivo ZIP en C#. Abre el archivo ZIP usando IronZipArchive y accede a los archivos deseados para la extracción usando los métodos provistos por la biblioteca.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Nuget Descargas 21,060 | Versión: 2026.6 just released
Still Scrolling Icon

¿Aún desplazándote?

¿Quieres una prueba rápida? PM > Install-Package IronZip
ejecuta una muestra observa cómo tus archivos se convierten en un archivo.