У цьому підручнику ми покажемо вам, як розпакувати файл Zip у коді C#. Ви можете використовувати C#, щоб розпакувати архів у своїх програмах. Цей код підтримує кілька zip or archive file formats, як-от GZip, RAR, TAR, 7Zip тощо.
Кроки для вилучення файлу Zip у C#
- Установіть пакет Aspose.Zip for .NET із NuGet.org
- Включіть у код простір імен Aspose.Zip
- Використовуйте метод SetLicense для налаштування ліцензії API Aspose.Zip
- Завантажте вхідний файл 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 у своїх програмах або як незалежну утиліту.