
Tutorial de archivo ZIP para desarrolladores de C# usando IronXL
Introducción a ZipArchive
Cada vez que piensas en enviar un archivo en un formato comprimido, lo primero que viene a la mente suele ser un Archivo Zip. Un archivo zip es un formato popular para comprimir y empaquetar un solo archivo o una colección completa en un solo archivo. Sin embargo, cuando hay grandes volúmenes de archivos para comprimir, trabajar con ellos puede volverse frustrante ya que tendrías que archivarlos y formatearlos uno por uno. Pero no tiene por qué ser así. Las tareas de gran volumen necesitan automatización para realizarse de manera programática. Podemos usar IronZIP, una biblioteca simple pero intuitiva, para lograr todo eso y más.
En este artículo, discutiremos brevemente las características y funcionalidades principales de IronZIP y cómo puede ayudarlo a automatizar mejor su flujo de trabajo, aumentar la eficiencia y eliminar tareas manuales propensas a errores.
Crear un nuevo archivo zip desde una carpeta o archivos
Abajo se muestra un ejemplo que toma múltiples archivos, los comprime en un solo archivo y los exporta después de la operación. Todos los ejemplos en este artículo están encerrados en el método static void Main() para evitar bloques de código repetidos.
using IronZip;
class Program
{
static void Main(string[] args)
{
// Create an empty ZIP archive
using (var archive = new IronZipArchive())
{
// Add files to the ZIP archive
archive.Add("./assets/image1.jpg");
archive.Add("./assets/image2.jpg");
archive.Add("./assets/image3.jpg");
// Export the ZIP archive to a file
archive.SaveAs("output.zip");
}
}
}Imports IronZip
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Create an empty ZIP archive
Using archive = New IronZipArchive()
' Add files to the ZIP archive
archive.Add("./assets/image1.jpg")
archive.Add("./assets/image2.jpg")
archive.Add("./assets/image3.jpg")
' Export the ZIP archive to a file
archive.SaveAs("output.zip")
End Using
End Sub
End Class- Primero, importamos IronZIP.
- Luego, usando IronZIP, creamos un archivo.
- Llamamos a
archive.Add()para añadir múltiples archivos al archivo. Recuerde que los nombres de las rutas deben ser rutas absolutas, o la operación no encontrará los archivos correspondientes. - Finalmente, llamamos a
archive.SaveAs()para exportar el archivo zip comooutput.zip.
Actualizar un archivo zip existente con nuevos archivos o modificaciones
Veamos otro ejemplo; esta vez, editaremos el archivo zip existente con nuevos archivos para mostrar la funcionalidad de IronZIP.
using IronZip;
class Program
{
static void Main(string[] args)
{
// Open an existing ZIP archive
using (var archive = IronZipArchive.FromFile("existing.zip"))
{
// Add additional files to the existing ZIP archive
archive.Add("./assets/image3.png");
archive.Add("./assets/image4.png");
// Export the updated ZIP archive to a new file
archive.SaveAs("result.zip");
}
}
}Imports IronZip
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Open an existing ZIP archive
Using archive = IronZipArchive.FromFile("existing.zip")
' Add additional files to the existing ZIP archive
archive.Add("./assets/image3.png")
archive.Add("./assets/image4.png")
' Export the updated ZIP archive to a new file
archive.SaveAs("result.zip")
End Using
End Sub
End Class- Primero, importamos IronZIP.
- Usando IronZIP, creamos un archivo, pero esta vez, importamos el archivo zip existente con
IronZipArchive.FromFile(). - Llamamos a
archive.Add()para añadir los archivos deseados al archivo. Recuerde que los nombres de las rutas deben ser rutas absolutas, o la operación no encontrará los archivos existentes. - Finalmente, llamamos a
archive.SaveAs()para exportar el archivo zip actualizado comoresult.zip.
Como puede ver en el código anterior, la operación y el formato son similares a los utilizados para crear y agregar archivos a un archivo Zip. La principal diferencia es que en su lugar importamos el archivo zip, mostrando la funcionalidad simple pero intuitiva de IronZIP.
Extraer archivos de un archivo zip
También podemos usar IronZIP para extraer archivos de un archivo Zip o paquete Zip. Revisemos esto en otro ejemplo.
using IronZip;
class Program
{
static void Main(string[] args)
{
// Extract the ZIP archive content to a specified directory
IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted");
}
}Imports IronZip
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Extract the ZIP archive content to a specified directory
IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted")
End Sub
End ClassImportamos IronZIP y llamamos a IronZipArchive.ExtractArchiveToDirectory(). Este método extrae el contenido del archivo zip existente al directorio de destino especificado.
Además, en casos donde necesites tratar con archivos zip protegidos por contraseña, podemos usar otro método para extraer los archivos.
using IronZip;
class Program
{
static void Main(string[] args)
{
// Extract the protected ZIP archive content to a specified directory
IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted", "P@ssw0rd");
}
}Imports IronZip
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Extract the protected ZIP archive content to a specified directory
IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted", "P@ssw0rd")
End Sub
End ClassEn última instancia, añadimos otro parámetro: la contraseña para el archivo zip protegido. El resto de la operación es igual que se muestra arriba.
Temas avanzados y mejores prácticas
Los ejemplos de código para agregar, extraer y crear archivos discutidos arriba son los más comunes cuando se trata de archivos zip. Sin embargo, para un uso más avanzado, como extraer otros formatos o simplemente ver el contenido del archivo, IronZIP lo tiene cubierto y más.
Características avanzadas de IronZIP
-
Compatibilidad cruzada: IronZIP es compatible con una amplia gama de versiones de .NET , incluidas .NET Core (3.1+), Standard (2.0+) y .NET Framework (4.6.2+). La biblioteca también funciona en la Web (Blazor), Móvil (MAUI), Escritorio (WPF) y Consola. Esto permite a los desarrolladores trascender las limitaciones de plataforma y versión.
-
Generación de archivos: más allá del formato ZIP, IronZIP admite la creación de archivos TAR, GZIP y BZIP2.
-
Extracción de archivos: extraiga archivos y descomprima archivos fácilmente con IronZIP usando un solo bloque de código, como se demostró anteriormente.
-
Añadir archivos y sistemas de archivos: IronZIP facilita la manipulación de archivos zip añadiendo imágenes, archivos de texto y documentos (como PDF, DOCX y XLSX), así como archivos de audio como MP3 y WAV. Incluso puede comprimir sistemas de archivos completos o archivos de texto individuales en un archivo ZipArchive .
-
Exportar y crear: puede proteger con contraseña archivos con los estándares AES128 y AES256. Además, puedes generar y exportar formatos como TAR, GZIP y BZIP2.
-
Niveles de compresión personalizados: IronZIP permite a los desarrolladores ajustar la configuración de compresión para adaptar el algoritmo a sus necesidades.
-
Edición de archivos: agregue, extraiga o elimine fácilmente entradas de archivos en un archivo utilizando IronZIP como una solución integral para operaciones relacionadas con la edición.
-
Propiedades de entrada de archivo: IronZIP proporciona la posibilidad de establecer comentarios de archivo opcionales y recuperar nombres de archivos dentro del archivo sin extraerlos, lo que ayuda a dejar comentarios específicos para cada archivo.
-
Opciones de licencia: IronZIP ofrece opciones de licencia adaptables, incluidas versiones de prueba gratuitas, lo que permite a los desarrolladores seleccionar lo que mejor se adapte a sus necesidades.
Conclusión
Tratar con archivos comprimidos y archivos es una tarea diaria a la que los desarrolladores a menudo se enfrentan, pero manejar un gran volumen de ellos puede ser estresante y propenso a errores humanos. Aunque existen opciones como System.IO.Compression, usar IronZIP te permite lograr más y resolver rápidamente problemas al tratar con archivos comprimidos. En este artículo, discutimos las características avanzadas de IronZIP y las operaciones comunes como crear archivos zip, eliminar entradas o agregar archivos. Entender cómo realizar estas tareas programáticamente con IronZIP conduce a una mayor eficiencia, escalabilidad y automatización en el manejo de archivos.

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 estructurados y visualmente atractivos.
Artículos Relacionados



