ในบทช่วยสอนนี้ เราจะแสดงวิธีแตกไฟล์ 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 extractor ของคุณเองได้อย่างง่ายดายและรวดเร็วในแอปพลิเคชันของคุณหรือเป็นยูทิลิตี้อิสระ