В этом руководстве мы покажем вам, как извлечь файл 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-распаковщик в своих приложениях или как независимую утилиту.