Cách giải nén tệp Zip trong C#

Trong hướng dẫn cách thực hiện này, chúng tôi sẽ chỉ cho bạn cách trích xuất tệp Zip bằng mã C#. Bạn có thể sử dụng C# để Giải nén tệp lưu trữ trong ứng dụng của mình. Mã này hỗ trợ nhiều zip or archive file formats như GZip, RAR, TAR, 7Zip, v.v.

Các bước để giải nén tệp Zip trong C#

  1. Cài đặt gói Aspose.Zip for .NET từ NuGet.org
  2. Bao gồm không gian tên Aspose.Zip trong mã
  3. Sử dụng phương thức SetLicense để thiết lập giấy phép của API Aspose.Zip
  4. Tải tệp Zip đầu vào vào đối tượng FileStream
  5. Tạo một Archive object mới từ luồng tệp
  6. Nhận số lượng tệp trong kho lưu trữ và lặp qua các mục lưu trữ
  7. Trích xuất từng mục lưu trữ và lưu tệp vào đĩa

Mỗi mục trong kho lưu trữ không chỉ chứa tệp mà còn chứa tên của tệp. Chúng tôi đã sử dụng thuộc tính Tên để lấy tên tệp và sau đó trích xuất tệp có cùng tên.

Mã để giải nén tệp Zip trong 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);
}
}
}
}

Trong đoạn mã trên, chúng tôi đã sử dụng FileStream để tải Zip archive và sau đó lưu các tệp đầu ra đã giải nén trên đĩa. Bạn cũng có thể sử dụng mã này trong C# để giải nén tệp trong bộ nhớ. Điều này có thể hữu ích khi bạn cần thêm các tệp đó trong mã hoặc ứng dụng và không muốn lưu vào đĩa. Sử dụng mã này, bạn có thể dễ dàng và nhanh chóng tạo trình trích xuất C# Zip của riêng mình trong các ứng dụng của mình hoặc dưới dạng một tiện ích độc lập.

 Tiếng Việt