Cómo comprimir una carpeta en C#

Cómo comprimir una carpeta en C#

Este artículo rápido explica cómo zip una pasta en C#. proporciona pasos detallados y una muestra de código para ayudar en la creación de un archivo ZIP para una pasta y sus contenidos.

Beneficios de Zipping Folders

  • Eficiencia espacial:- Reduce el espacio de almacenamiento mediante la compresión de archivos.

  • Gestión de archivos organizados:- Combina varios archivos en un solo archivo para facilitar la distribución y la gestión.

  • Transferencias más rápidas:- Los tamaños de archivo más pequeños conducen a un tiempo de descarga y descarga más rápido.

Requisitos: Preparación del medio ambiente

  • Instalar Visual Studio o cualquier compatible .NET IDE.
  • Instalar la biblioteca Aspose.ZIP a través de NuGet Package Manager.

Guía paso a paso para ZIP una carpeta

Paso 1: Instalar Aspose.ZIP

Añade la biblioteca Aspose.ZIP a tu proyecto.

Install-Package Aspose.ZIP

Paso 2: Crear un objeto FileStream

Instantado a FileStream Objeto para el archivo de salida ZIP.

using System.IO;
var zippedFolder = File.Open("AnimationImages.zip", FileMode.Create);

Paso 3: Crear un objeto de archivo ZIP

Crea un ejemplo de la Archive La clase para gestionar las operaciones ZIP.

using (Archive archiveFile = new Archive())
{
    // Further processing follows here
}

Paso 4: Crear entradas en el archivo

Añadir todos los archivos y carpetas de la guía de destino de forma recurrente.

archiveFile.CreateEntries("AnimationImages");

Paso 5: Salva el archivo ZIP

Una vez que se crean las entradas, guardar el archivo en el disco.

archiveFile.Save(zippedFolder);

Exemplos de código completo para ZIP una carpeta

Aquí está el ejemplo completo de C# que demuestra cómo zipar una carpeta:

// Create a file stream object for the output zip file
using (FileStream zippedFolder = File.Open("AnimationImages.zip", FileMode.Create))
{
    // Create a Zip archive file class object
    using (Archive archiveFile = new Archive())
    {
        // Add all the files and folders recursively
        archiveFile.CreateEntries("AnimationImages");

        // Save the output ZIP file
        archiveFile.Save(zippedFolder);
    }
}

Información adicional

  • Usted puede proporcionar un objeto de clase DirectoryInfo como la fuente de los archivos para el archivo ZIP de salida.
  • También puede incluir banderas para controlar si incluir la pasta de raíz en la salida ZIP.

Conclusión

Este tutorial te ha guiado a través del proceso de zipping una carpeta completa en C#. Con sólo unas pocas líneas de código, puedes gestionar fácilmente las estructuras de carpeta y crear archivos ZIP de manera eficiente. Para más funcionalidades, consulte los tutoriales sobre extraer archivos ZIP o crear diferentes tipos de archivos.

 Español