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

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

Descomprimir 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

Comprimir archivos en un archivo ZIP

Para crear un objeto de archivo ZIP, puede utilizar convenientemente la declaración using en C# junto con el constructor IronZipArchive. IronZip hace que este proceso sea simple, permitiéndote establecer un archivo ZIP vacío con solo unas pocas líneas de código.

A continuación, utilice el método Add para importar sus archivos al archivo ZIP. Este método le permite agregar archivos desde varias ubicaciones, incluyendo un directorio completo donde se incluirán todos los archivos.

Por último, utilice 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

Descomprimir ZIP: extraer archivos a una carpeta

Para recuperar el contenido de un archivo ZIP, puede utilizar 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

Puedes modificar eficientemente un archivo ZIP existente con archivos adicionales usando IronZip. El proceso comienza instanciando el objeto del archivo ZIP desde una ruta de archivo ZIP existente. Una vez abierto el archivo, puede utilizar 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 facilita el proceso de gestión de archivos comprimidos en tus proyectos de C#, tanto para crear ZIP como para comprimir archivos en múltiples formatos.

Se puede lograr un enfoque similar para otros formatos de archivo y compresión como TAR, GZIP y BZIP2 utilizando 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 19,717 | Versión: 2026.4 recién lanzado
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.