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.