Cómo extraer un archivo zip en C#

En este tutorial, le mostraremos cómo extraer el archivo Zip en código C#. Puede usar C# para descomprimir un archivo en sus aplicaciones. Este código admite múltiples zip or archive file formats como GZip, RAR, TAR, 7Zip y más.

Pasos para extraer un archivo zip en C#

  1. Instale el paquete Aspose.Zip for .NET desde NuGet.org
  2. Incluir Aspose.Zip espacio de nombres en el código
  3. Use el método SetLicense para configurar la licencia de la API Aspose.Zip
  4. Cargue el archivo Zip de entrada en un objeto FileStream
  5. Cree un nuevo Archive object desde el flujo de archivos
  6. Obtenga el recuento de archivos en el archivo y recorra las entradas del archivo
  7. Extraiga cada entrada del archivo y guarde el archivo en el disco

Cada entrada en el archivo contiene no solo el archivo, sino también el nombre del archivo. Usamos la propiedad Name para obtener el nombre del archivo y luego extrajimos el archivo con el mismo nombre.

Código para extraer archivo zip en C#

using System;
using System.IO;
using System.Text;
//Add reference to Aspose.Zip for .NET API
//Use following namespace to extract zip file
using Aspose.Zip;
namespace ExtractZipFile
{
class Program
{
static void Main(string[] args)
{
//Set Aspose license before extracting Zip file
//using Aspose.Zip for .NET
Aspose.Zip.License AsposeZipLicense = new Aspose.Zip.License();
AsposeZipLicense.SetLicense(@"c:\asposelicense\license.lic");
//Open file from disk using a file stream
FileStream ZipFileToBeExtracted = File.Open("ZipFileToBeExtracted.zip", FileMode.Open);
//Load Zip file stream to Archive object
Archive ZipArchiveToExtract = new Archive(ZipFileToBeExtracted);
//Get number of files
int NumberOfFileInArchive = ZipArchiveToExtract.Entries.Count;
//Loop through the archive for each file
for(int FileCounter =0; FileCounter < NumberOfFileInArchive; FileCounter++)
{
//Get each zip archive entry and extract the file
ArchiveEntry ArchiveFileEntry = ZipArchiveToExtract.Entries[FileCounter];
string NameOfFileInZipEntry = ArchiveFileEntry.Name;
ArchiveFileEntry.Extract(NameOfFileInZipEntry);
}
}
}
}

En el código anterior, usamos FileStream para cargar Zip archive y luego guardamos los archivos de salida extraídos en el disco. También puede usar este código en C# para descomprimir el archivo en la memoria. Esto puede ser útil cuando necesita esos archivos más adelante en el código o la aplicación y no desea guardarlos en el disco. Con este código, puede crear fácil y rápidamente su propio extractor C# Zip en sus aplicaciones o como una utilidad independiente.

 Español