Pruebe en producción sin marcas de agua.
Funciona donde lo necesite.
Obtén 30 días de producto totalmente funcional.
Ténlo en funcionamiento en minutos.
Acceso completo a nuestro equipo de asistencia técnica durante la prueba del producto
ZIP es un formato de sistema de archivos de entrada que admite la compresión de datos sin pérdidas. Un archivo ZIP puede contener uno o varios archivos o directorios que pueden haber sido comprimidos. El formato de archivo ZIP permite varios algoritmos de compresión, aunque DEFLATE es el más común. El formato ZIP fue entonces rápidamente soportado por muchas utilidades de software. Los principales proveedores de sistemas operativos han incluido soporte para archivos ZIP desde hace mucho tiempo. Microsoft incluyó soporte para archivos ZIP desde Windows 98 y el resto siguió su ejemplo.
En este blog, vamos a explorar una forma moderna, fácil y eficiente de abrir archivos de archivo ZIP o archivos extraídos usando IronZIP. Vamos a conocer los archivos ZIP en general y sus ventajas. A continuación veremos las opciones disponibles en el espacio de nombres del sistema para trabajar con el formato de archivo ZIP. A continuación, exploraremos las instrucciones paso a paso para abrir el archivo ZIP, extraer el archivo ZIP a una carpeta temporal, crear un nuevo archivo ZIP y añadir archivos a archivos ZIP existentes.
Compresión: Esta técnica reduce el tamaño de los archivos/carpeta archivados utilizando varios algoritmos de compresión como Implode, Deflate, Deflate64, bzip2, LZMA, WavPack, PPMd, etc.
Tiempo de Transferencia Reducido: Los tamaños de archivo más pequeños significan tiempos de transferencia más rápidos, especialmente al enviar archivos por Internet. Esto es especialmente ventajoso para los adjuntos de correo electrónico y la carga o descarga de archivos de sitios web.
Consolidación de Archivos: Los archivos ZIP te permiten consolidar múltiples archivos en un solo archivo comprimido, reduciendo la cantidad de archivos que necesitas gestionar. Esto resulta útil para organizar proyectos o distribuir software compuesto por varios archivos.
La introducción a la biblioteca y documentación de IronZIP se puede encontrar aquí. En las aplicaciones C#, los archivos ZIP pueden crearse y extraerse de varias formas. El paquete NuGet IronZIP tiene todas las funcionalidades para archivar ficheros en diferentes formatos ZIP, TAR, GZIP, y BZIP2. A continuación se muestran los pasos de ejemplo sobre cómo utilizar IronZIP en la programación de aplicaciones modernas para crear aplicaciones de próxima generación para abrir archivos ZIP, extraer archivos ZIP, crear nuevos archivos ZIP, etc.
.NET puede crearse utilizando Visual Studio. Abra Visual Studio y seleccione Crear proyecto. Aquí puedes ver varias plantillas para crear un proyecto. La forma más sencilla de demostrar o probar el código es crear una aplicación de consola. Seleccionaremos la plantilla de proyecto Console App.
En la siguiente ventana, puede introducir el nombre del proyecto, la ubicación del proyecto para almacenarlo en el sistema de archivos y, por último, la ruta a la carpeta de la solución. Puede mantener las carpetas de la solución y del proyecto iguales o tenerlas en carpetas diferentes.
El siguiente paso es seleccionar la versión de .NET Framework para el proyecto. Si desea desarrollar en una versión específica entonces especifique la versión que desee, de lo contrario seleccione siempre la última versión estable para crear un proyecto. La última versión puede descargarse del sitio web de Microsoft. A continuación, haga clic en Crear para generar la aplicación de consola.
Esto creará el proyecto predeterminado a partir de la plantilla y almacenará los archivos del proyecto y de la solución en los directorios especificados. Una vez creado el proyecto, tendrá un aspecto similar al que se muestra a continuación. A veces la clase no se utiliza en el program.cs en las últimas versiones.
using System;
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
namespace MyApp // Note: actual namespace depends on the project name.
{
internal class Program
{
static void Main(string [] args)
{
Console.WriteLine("Hello World!");
}
}
}
using System;
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
namespace MyApp // Note: actual namespace depends on the project name.
{
internal class Program
{
static void Main(string [] args)
{
Console.WriteLine("Hello World!");
}
}
}
Imports System
' See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!")
Dim MyApp As namespace ' Note: actual namespace depends on the project name.
If True Then
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
' internal class Program
' {
' static void Main(string [] args)
' {
' Console.WriteLine("Hello World!");
' }
' }
End If
Para crear un nuevo fichero ZIP y extraer todos los ficheros del archivo ZIP, podemos utilizar System.IO.Compression de las librerías por defecto. En el código anterior, los métodos estáticos ZipFile.OpenRead
y ZipFile.Open
se pueden usar para abrir archivos ZIP o extraer archivos ZIP.
using System.IO.Compression;
Console.WriteLine("-----------Zip - Unzip-----------");
static void AddEntry(string filePath,
System.IO.Compression.ZipArchive zipArchive)
{
var file = Path.GetFileName(filePath); // get file name in var file
zipArchive.CreateEntryFromFile(filePath, file);
}
var zip = "myFile.zip";
using (System.IO.Compression.ZipArchive archive = ZipFile.OpenRead(zip, ZipArchiveMode.Create))
{
AddEntry(file1, archive);
AddEntry(file2, archive);
}
var dirToExtract = "extract";
if (Directory.Exists(dirToExtract) == false)
{
Directory.CreateDirectory(dirToExtract);
}
ZipFile.ExtractToDirectory(zip, dirToExtract); //extracted file
using System.IO.Compression;
Console.WriteLine("-----------Zip - Unzip-----------");
static void AddEntry(string filePath,
System.IO.Compression.ZipArchive zipArchive)
{
var file = Path.GetFileName(filePath); // get file name in var file
zipArchive.CreateEntryFromFile(filePath, file);
}
var zip = "myFile.zip";
using (System.IO.Compression.ZipArchive archive = ZipFile.OpenRead(zip, ZipArchiveMode.Create))
{
AddEntry(file1, archive);
AddEntry(file2, archive);
}
var dirToExtract = "extract";
if (Directory.Exists(dirToExtract) == false)
{
Directory.CreateDirectory(dirToExtract);
}
ZipFile.ExtractToDirectory(zip, dirToExtract); //extracted file
Imports System.IO.Compression
Console.WriteLine("-----------Zip - Unzip-----------")
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'static void AddEntry(string filePath, System.IO.Compression.ZipArchive zipArchive)
'{
' var file = Path.GetFileName(filePath); ' get file name in var file
' zipArchive.CreateEntryFromFile(filePath, file);
'}
Dim zip = "myFile.zip"
Using archive As System.IO.Compression.ZipArchive = ZipFile.OpenRead(zip, ZipArchiveMode.Create)
AddEntry(file1, archive)
AddEntry(file2, archive)
End Using
Dim dirToExtract = "extract"
If Directory.Exists(dirToExtract) = False Then
Directory.CreateDirectory(dirToExtract)
End If
ZipFile.ExtractToDirectory(zip, dirToExtract) 'extracted file
En el código anterior, tenemos un archivo ZIP llamado miArchivo.zip, y utilizamos el espacio de nombres del sistema. El método OpenRead
se utiliza para abrir el archivo ZIP en el modo especificado. También se puede utilizar para crear nuevos archivos ZIP. Una vez abierto, podemos añadir una nueva entrada de archivo usando el método AddEntry
y luego ExtractToDirectory
extrae los archivos del archivo ZIP o los archivos seleccionados al directorio especificado. El directorio se comprueba si existe. Si no existe, entonces se crea un directorio usando Directory.CreateDirectory
. dirToExtract
es la ruta del directorio para extraer los archivos del archivo ZIP. La última línea en el código ZipFile.ExtractToDirectory(zip, dirToExtract)
extrae un archivo ZIP. Todos los archivos se guardan en la ruta del directorio.
Abra el Gestor de proyectos desde Visual Studio y busque el paquete IronZIP. A continuación, seleccione la última versión y haga clic en Instalar. Puede cambiar la versión a instalar desde el desplegable. A continuación, haga clic en Instalar.
Crear un archivo ZIP y añadir ficheros con IronZIP
IronZIP es una biblioteca de compresión y descompresión de archivos desarrollada por Iron Software. Además del ampliamente utilizado formato ZIP, también puede manejar TAR, GZIP y BZIP2.
IronZIP es una biblioteca de archivos ZIP para C# que prioriza la precisión, la facilidad de uso y la velocidad. La sencilla API permite a los desarrolladores añadir fácilmente funciones de archivo a los modernos proyectos .NET en cuestión de minutos.
IronZIP tiene muchas ventajas en comparación con la biblioteca System.Io.Compression
. Puede especificar el ratio de compresión que desee durante la compresión y también utilizar diferentes algoritmos de compresión ZIP, TAR, GZIP, BZIP2. También es compatible con plataformas móviles, web y de escritorio y con varias versiones de .NET.
IronZIP tiene la clase IronArchive
que se puede usar para crear archivos ZIP, extraer archivos ZIP y también admite la creación de archivos de archivo TAR, GZIP y BZIP2 utilizando una única biblioteca. A continuación se muestra el código para crear un archivo ZIP. La clase IronArchive
crea/abre archivos ZIP y luego archiva. El método Add
se utiliza para agregar entradas de archivo al archivo como se muestra a continuación.
// setup
var archivePath= "ironZip.zip";
if (File.Exists(archivePath))
{
File.Delete(archivePath);
}
// zip file
using (var archive = new IronZipArchive(9))
{
// Add files to the zip
archive.Add(file1);
archive.Add(file2);
archive.SaveAs(archivePath);
}
// setup
var archivePath= "ironZip.zip";
if (File.Exists(archivePath))
{
File.Delete(archivePath);
}
// zip file
using (var archive = new IronZipArchive(9))
{
// Add files to the zip
archive.Add(file1);
archive.Add(file2);
archive.SaveAs(archivePath);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
El código fuente inicial tiene la configuración necesaria para especificar el nombre del archivo ZIP y comprobar si el directorio especificado existe. Luego archivamos los archivos para crear un archivo ZIP usando el método Add
. El segundo parámetro del parámetro de compresión es 1 para menor y 9 para mayor. Los archivos txt pueden comprimirse al máximo usando 9 sin pérdida y los archivos de imagen pueden usar una compresión menor para evitar la pérdida de datos.
La clase IronArchive
también se puede usar para extraer los archivos del archivo ZIP. Todos los archivos son extraídos usando IronArchive.ExtractArchiveToDirectory
que ayuda a extraer todos los archivos a directorios específicos como se muestra a continuación.
var extractionPath = "IronZipFiles";
// extract files from zip
if (Directory.Exists(extractionPath) == false)
{
Directory.CreateDirectory(extractionPath);
}
IronArchive.ExtractArchiveToDirectory(archivePath, extractionPath);
var extractionPath = "IronZipFiles";
// extract files from zip
if (Directory.Exists(extractionPath) == false)
{
Directory.CreateDirectory(extractionPath);
}
IronArchive.ExtractArchiveToDirectory(archivePath, extractionPath);
Dim extractionPath = "IronZipFiles"
' extract files from zip
If Directory.Exists(extractionPath) = False Then
Directory.CreateDirectory(extractionPath)
End If
IronArchive.ExtractArchiveToDirectory(archivePath, extractionPath)
El código anterior extrae archivos ZIP a un directorio. El código comprueba si el directorio existe y, a continuación, extrae el archivo ZIP al directorio especificado.
Para que el código anterior funcione se necesita una clave de licencia. Esta clave debe colocarse en appsettings.json
"IronZip.LicenseKey": "your lincese key"
"IronZip.LicenseKey": "your lincese key"
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'"IronZip.LicenseKey": "your lincese key"
Una licencia de prueba está disponible para los desarrolladores al registrarse aquí y sí, no se requiere tarjeta de crédito para una licencia de prueba. Uno puede proporcionar el ID de correo electrónico y registrarse para una prueba gratuita.
Utilice el método estático FromFile
de IronZIP para abrir un archivo existente. Este método también requiere especificar el nombre de archivo del nuevo archivo que se creará como salida.
//add to existing archive
const string file3 = ".\\image3.png";
var archivePlusPath = "ironZipPlus.zip";
using (var file = IronArchive.FromFile(archivePath, archivePlusPath))
{
// Add files
file.Add(file3);
}
//add to existing archive
const string file3 = ".\\image3.png";
var archivePlusPath = "ironZipPlus.zip";
using (var file = IronArchive.FromFile(archivePath, archivePlusPath))
{
// Add files
file.Add(file3);
}
'add to existing archive
Const file3 As String = ".\image3.png"
Dim archivePlusPath = "ironZipPlus.zip"
Using file = IronArchive.FromFile(archivePath, archivePlusPath)
' Add files
file.Add(file3)
End Using
El código utiliza el método void estático IronArchive.FromFile
para abrir el archivo ZIP existente y luego agregar el nuevo archivo como una entrada del archivo. Una vez dispuesto el archivo, éste se guarda correctamente.
La biblioteca IronZIP se actualiza constantemente basado en los comentarios de los clientes/usuarios y todas las actualizaciones se pueden encontrar aquí.
En conclusión, la programación de archivos ZIP es una habilidad esencial para el desarrollo de aplicaciones modernas en las que los costes de almacenamiento y transferencia de datos corren a cargo de los proveedores de alojamiento en la nube. Conocer esta habilidad puede ayudar a los programadores a reducir el coste de la aplicación y mejorar su rendimiento.
Siguiendo los pasos de instalación y explorando los ejemplos de código proporcionados, los desarrolladores pueden aprovechar rápidamente el poder de IronZIP para crear nuevos archivos y manejar tareas de compresión y descompresión con facilidad. A medida que cada vez más aplicaciones se modernizan y se trasladan a la nube, contar con una biblioteca ZIP confiable como IronZIP equipa a los desarrolladores de C# con las herramientas necesarias para satisfacer las demandas del desarrollo de aplicaciones moderno. Así que, aprovecha el poder de IronZIP y descubre nuevas posibilidades para trabajar con archivos ZIP en tus aplicaciones C#.
IronZIP ofrece un amplio soporte para sus desarrolladores. Para saber más sobre cómo funciona IronZIP para C#, visita aquí. IronZIP ofrece una licencia de prueba gratuita, que es una gran oportunidad para conocer IronZIP y sus características.
Iron Software tiene varias otras bibliotecas, explórelas para adquirir más conocimientos y actualizar sus habilidades para programar/desarrollar aplicaciones modernas.