Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Los archivos ZIP son archivos que contienen uno o más archivos o carpetas comprimidos, utilizando el formato ZIP. Es una forma habitual de comprimir y archivar varios ficheros o carpetas en un único archivo. Pueden reducir el tamaño de los datos, ahorrar espacio en disco y facilitar la transferencia de archivos por Internet. En este artículo, aprenderá a trabajar con ZIP archivos en C#, utilizando el IronZIP biblioteca. Verá cómo crear, leer, extraer y actualizar archivos ZIP mediante programación, así como la forma de utilizar diversas características de IronZIP, como el cifrado, la protección por contraseña y los niveles de compresión. Al final de este artículo, usted será capaz de utilizar IronZIP para manejar archivos ZIP en sus aplicaciones C# con facilidad.
IronZIP es una potente y versátil biblioteca de archivos ZIP en C# que permite crear, leer y extraer archivos ZIP mediante programación. Admite varios formatos de archivo, como ZIP, TAR, GZIPy BZIP2. También admite protección por contraseñaniveles de cifrado y compresión. IronZIP es compatible con .NET 8, 7, 6, Core, Standard y Framework.
IronZIP puede ayudarle a manejar varios casos de uso y beneficios de trabajar con archivos ZIP, tales como:
Antes de escribir el código, es necesario instalar el paquete NuGet IronZIP nuestro proyecto C#. IronZIP es una popular biblioteca de compresión disponible a través de NuGet.
Para instalar IronZIP, puede utilizar la consola del gestor de paquetes NuGet en Visual Studio. Basta con ejecutar el siguiente comando:
Install-Package IronZip
También puede descargar el paquete directamente de la página oficial IronZIP sitio web. Una vez instalado, puede empezar añadiendo el siguiente espacio de nombres al principio de su código C#.
using IronZip;
using IronZip;
Imports IronZip
Podemos crear fácilmente archivos ZIP en una carpeta utilizando IronZIP. El siguiente código comprimirá todos los archivos del directorio especificado.
static void Main(string [] args)
{
string [] fileArray = Directory.GetFiles(@"D:\Docs\");
using (var archive = new IronZipArchive())
{
foreach (var file in fileArray)
{
// Add files to the ZIP
archive.Add(file);
}
// Export the ZIP
archive.SaveAs("myZipFile.zip");
}
}
static void Main(string [] args)
{
string [] fileArray = Directory.GetFiles(@"D:\Docs\");
using (var archive = new IronZipArchive())
{
foreach (var file in fileArray)
{
// Add files to the ZIP
archive.Add(file);
}
// Export the ZIP
archive.SaveAs("myZipFile.zip");
}
}
Shared Sub Main(ByVal args() As String)
Dim fileArray() As String = Directory.GetFiles("D:\Docs\")
Using archive = New IronZipArchive()
For Each file In fileArray
' Add files to the ZIP
archive.Add(file)
Next file
' Export the ZIP
archive.SaveAs("myZipFile.zip")
End Using
End Sub
El código C# anterior utiliza la biblioteca IronZIP para comprimir todos los archivos en un único archivo ZIP. El código hace lo siguiente:
Por último, hemos llamado al método SaveAs del objeto archivo, pasándole el nombre del fichero ZIP ("miArchivoZip.zip") como parámetro. Este método guarda el archivo ZIP en un fichero del sistema de ficheros actual.
De este modo, podemos crear fácilmente nuevos archivos zip utilizando sólo unas pocas líneas de código.
La salida es como:
IronZIP proporciona el método más sencillo para crear archivos ZIP protegidos por contraseña. El siguiente ejemplo de código comprimirá archivos y creará un nuevo archivo ZIP con una contraseña.
using (var archive = new IronZipArchive())
{
foreach (var file in fileArray)
{
// Add files to the ZIP
archive.Add(file);
}
// Set Password and Encryption Method
archive.Encrypt("myPa55word", EncryptionMethods.AES256);
// Export the ZIP
archive.SaveAs("myZipFile.zip");
}
using (var archive = new IronZipArchive())
{
foreach (var file in fileArray)
{
// Add files to the ZIP
archive.Add(file);
}
// Set Password and Encryption Method
archive.Encrypt("myPa55word", EncryptionMethods.AES256);
// Export the ZIP
archive.SaveAs("myZipFile.zip");
}
Using archive = New IronZipArchive()
For Each file In fileArray
' Add files to the ZIP
archive.Add(file)
Next file
' Set Password and Encryption Method
archive.Encrypt("myPa55word", EncryptionMethods.AES256)
' Export the ZIP
archive.SaveAs("myZipFile.zip")
End Using
La línea archive.Encrypt("myPa55word", EncryptionMethods.AES256); establece una contraseña ("miPalabra55") para un archivo ZIP utilizando IronZIP. Aumenta la seguridad aplicando el cifrado AES-256 al archivo, lo que garantiza que sólo los usuarios con la contraseña correcta puedan acceder a su contenido. Esta función es valiosa para proteger datos confidenciales durante su almacenamiento o transferencia dentro de aplicaciones C#. Necesitamos pasar el modo especificado del algoritmo de encriptación en el segundo parámetro.
El archivo se encripta como se muestra a continuación.
Hemos visto la demostración de crear un archivo ZIP recorriendo los directorios de la ruta especificada. Pasemos ahora al ejemplo de descomprimir archivos.
IronZIP proporciona un método para extraer ficheros de un archivo ZIP C#. El siguiente ejemplo de código extraerá el fichero comprimido dentro de un archivo ZIP.
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles");
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles");
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles")
El código IronZipArchive.ExtractArchiveToDirectory("miArchivoZip.zip", "misArchivosExtraídos"); utiliza IronZIP para extraer todos los archivos de "miArchivoZip.zip" y los coloca en el directorio "misArchivosExtraídos". Este conciso método simplifica el proceso de extracción de archivos ZIP en C#, proporcionando una cómoda solución para las tareas de extracción de archivos.
El resultado es el siguiente:
IronZIP también proporciona un método para extraer archivos ZIP protegidos por contraseña. El siguiente código utilizará el método IronZIP para extraer todos los archivos y directorios existentes en el archivo ZIP especificado.
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles", "myPa55word");
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles", "myPa55word");
IronZipArchive.ExtractArchiveToDirectory("myZipFile.zip", "myExtractedFiles", "myPa55word")
El método ExtractArchiveToDirectory de la clase IronZipArchive extrae todas las entradas de un archivo ZIP a un directorio especificado. Pasa tres argumentos al método: la ruta del archivo ZIP ("miArchivoZip.zip")la ruta del directorio de destino ("misArchivosExtraídos")y la contraseña del archivo ZIP ("miPalabra55").
De este modo, podemos extraer fácilmente archivos zip protegidos por contraseña.
IronZIP proporciona métodos para acceder al archivo existente y ver todas las entradas presentes en el archivo.
using (var archive = new IronZipArchive("myZipFile.zip", "myPa55word"))
{
// Get Entries list
List<string> names = archive.GetArchiveEntryNames();
foreach (string name in names)
{
Console.WriteLine(name);
}
}
using (var archive = new IronZipArchive("myZipFile.zip", "myPa55word"))
{
// Get Entries list
List<string> names = archive.GetArchiveEntryNames();
foreach (string name in names)
{
Console.WriteLine(name);
}
}
Using archive = New IronZipArchive("myZipFile.zip", "myPa55word")
' Get Entries list
Dim names As List(Of String) = archive.GetArchiveEntryNames()
For Each name As String In names
Console.WriteLine(name)
Next name
End Using
El código C# proporcionado utiliza IronZIP para crear una instancia segura de IronZipArchive cargando un archivo ZIP llamado "myZipFile.zip" con la contraseña "myPa55word". No pase el parámetro de contraseña si el archivo no está encriptado. A continuación, recupera e imprime la lista de nombres de entrada (nombres de archivos y carpetas) dentro del archivo ZIP encriptado.
El método GetArchiveEntryNames recopila los nombres de las entradas y un bucle for-each envía cada nombre a la consola. Esto demuestra cómo IronZIP permite el acceso seguro y la recuperación de información de entrada de archivos zip protegidos por contraseña de forma concisa.
En conclusión, IronZIP demuestra ser una librería C# robusta y versátil para trabajar con archivos ZIP. Sus capacidades van más allá de lo básico Compresión y extraccióncon funciones como protección por contraseñay compatibilidad con varios formatos de archivo. Tanto si está creando sistemas de copia de seguridad, gestionando archivos adjuntos de correo electrónico o descargando archivos de la Web, IronZIP agiliza estas tareas con sencillez y eficacia.
Al integrar IronZIP en sus aplicaciones C#, obtendrá una potente herramienta para manejar archivos ZIP, mejorar la seguridad de los datos y optimizar los procesos de transferencia de archivos. Puede beneficiarse de un Prueba según las necesidades.
9 productos API .NET para sus documentos de oficina