Neste tutorial, mostraremos como extrair o arquivo Zip em código C#. Você pode usar C# para descompactar um arquivo em seus aplicativos. Este código é compatível com vários zip or archive file formats como GZip, RAR, TAR, 7Zip e muito mais.
Etapas para extrair o arquivo Zip em C#
- Instale o pacote Aspose.Zip for .NET do NuGet.org
- Incluir namespace Aspose.Zip no código
- Use o método SetLicense para configurar a licença da API Aspose.Zip
- Carregar arquivo Zip de entrada em um objeto FileStream
- Crie um novo Archive object a partir do fluxo de arquivos
- Obtenha a contagem de arquivos no arquivo e faça um loop pelas entradas do arquivo
- Extraia cada entrada de arquivo e salve o arquivo no disco
Cada entrada no arquivo contém não apenas o arquivo, mas também o nome do arquivo. Usamos a propriedade Name para obter o nome do arquivo e, em seguida, extraímos o arquivo com o mesmo nome.
Código para extrair o arquivo Zip em 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); | |
} | |
} | |
} | |
} |
No código acima, usamos o FileStream para carregar o Zip archive e salvamos os arquivos de saída extraídos no disco. Você também pode usar esse código em C# para descompactar o arquivo na memória. Isso pode ser útil quando você precisar desses arquivos no código ou aplicativo e não quiser salvá-los em disco. Usando este código, você pode criar de maneira fácil e rápida seu próprio extrator C# Zip em seus aplicativos ou como um utilitário independente.