В този урок ще ви покажем как да извлечете файл Zip в C# код. Можете да използвате C#, за да разархивирате архив във вашите приложения. Този код поддържа множество zip or archive file formats като GZip, RAR, TAR, 7Zip и др.
Стъпки за извличане на Zip файл в C#
- Инсталирайте пакет Aspose.Zip for .NET от NuGet.org
- Включете пространството от имена Aspose.Zip в кода
- Използвайте метода SetLicense, за да настроите лиценз на Aspose.Zip API
- Заредете входния Zip файл във FileStream обект
- Създайте нова Archive object от файловия поток
- Вземете броя на файловете в архива и преминете през записите в архива
- Извлечете всеки запис от архива и запазете файла на диска
Всеки запис в архива съдържа не само файл, но и името на файла. Използвахме свойството Name, за да получим името на файла и след това извлякохме файл със същото име.
Код за извличане на Zip файл в 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); | |
} | |
} | |
} | |
} |
В горния код използвахме FileStream, за да заредим Zip archive и след това запазихме извлечените изходни файлове на диска. Можете също да използвате този код в C#, за да разархивирате файл в паметта. Това може да бъде полезно, когато имате нужда от тези файлове по-нататък в кода или приложението и не искате да записвате на диск. Използвайки този код, можете лесно и бързо да създадете свой собствен C# Zip екстрактор във вашите приложения или като независима помощна програма.