ขณะทำงานกับไฟล์เก็บถาวรจากภายในแอปพลิเคชัน .NET คุณอาจต้องจัดการไฟล์ภายใน ZIP ใน โพสต์ก่อนหน้า คุณได้เห็นวิธีเพิ่มไฟล์/โฟลเดอร์ในไฟล์ ZIP แล้ว ในบทความนี้ คุณจะได้เรียนรู้วิธีการลบไฟล์ภายใน ZIP archives โดยทางโปรแกรมใน C# มาเริ่มกันเลย
C# .NET API เพื่อลบไฟล์ภายใน ZIP Archives
Aspose.ZIP for .NET เป็น API ที่มีประสิทธิภาพซึ่งมีฟีเจอร์การเก็บถาวรที่หลากหลาย ช่วยให้คุณสร้างและจัดการกับไฟล์เก็บถาวรในรูปแบบยอดนิยม เช่น ZIP, TAR, 7z และ GZip เราจะใช้ API นี้เพื่อลบไฟล์ภายใน ZIP archives แบบไดนามิก คุณสามารถติดตั้ง API จาก NuGet หรือ ดาวน์โหลด DLL และอ้างอิงด้วยตนเอง
PM> Install-Package Aspose.Zip
ลบไฟล์ภายในไฟล์เก็บถาวร ZIP ใน C#
มีสองวิธีในการลบไฟล์ภายในไฟล์ ZIP โดยใช้ Aspose.ZIP for .NET หนึ่งกำลังใช้ดัชนีของไฟล์ในขณะที่อีกอันกำลังใช้คลาส ArchiveEntry มาดูวิธีการใช้ทั้ง 2 วิธีข้างต้นกัน
ลบไฟล์ใน ZIP โดยใช้ ArchiveEntry
Aspose.ZIP for .NET แสดงถึงแต่ละไฟล์/โฟลเดอร์ภายใน ZIP เป็นวัตถุ ArchiveEntry และไฟล์และโฟลเดอร์ทั้งหมดสร้างชุดของวัตถุ ArchiveEntry ดังนั้น หากต้องการลบไฟล์ออกจาก ZIP คุณสามารถเข้าถึงและลบวัตถุ ArchiveEntry ที่เกี่ยวข้องออกจากคอลเลกชันได้ ต่อไปนี้เป็นขั้นตอนในการลบไฟล์จากไฟล์ ZIP ใน C#
- โหลดไฟล์ ZIP โดยใช้คลาส Archive
- วนซ้ำรายการในคอลเลกชัน Archive.Entries
- กรองไฟล์/โฟลเดอร์ที่ต้องการและเพิ่มลงในรายการ
- ลบแต่ละรายการในรายการโดยใช้เมธอด Archive.DeleteEntry(ArchvieEntry)
- บันทึกไฟล์ ZIP ที่อัปเดตโดยใช้เมธอด Archive.Save(string)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการลบไฟล์ภายในไฟล์ ZIP ใน C#
// โหลดไฟล์ ZIP
using (var archive = new Archive("Archives/archive.zip"))
{
// รายการที่จะเก็บไฟล์ที่จะลบ
List<ArchiveEntry> entriesToDelete = new List<ArchiveEntry>();
// วนซ้ำรายการ ZIP
foreach(ArchiveEntry entry in archive.Entries)
{
// เพิ่มไฟล์/โฟลเดอร์ในรายการ
if(entry.Name.ToLower().Contains("source"))
{
entriesToDelete.Add(entry);
}
}
// ลบรายการที่แสดงทั้งหมด
foreach(var entry in entriesToDelete)
{
archive.DeleteEntry(entry);
}
// บันทึกไฟล์เก็บถาวรที่อัปเดต
archive.Save("Archives/updated-archive.zip");
}
ลบไฟล์ใน ZIP โดยใช้ดัชนี
คุณยังสามารถลบรายการ ZIP โดยใช้ดัชนี ต่อไปนี้เป็นขั้นตอนในการลบไฟล์/โฟลเดอร์ออกจากไฟล์ ZIP โดยใช้ดัชนี
- โหลดไฟล์ ZIP โดยใช้คลาส Archive
- ลบไฟล์โดยระบุดัชนีในเมธอด Archive.DeleteEntry(int)
- บันทึกไฟล์ ZIP ที่อัปเดตโดยใช้เมธอด Archive.Save(string)
ตัวอย่างโค้ด C# ต่อไปนี้แสดงวิธีลบไฟล์ในไฟล์ ZIP โดยใช้ดัชนี
// โหลดไฟล์ ZIP
using (var archive = new Archive("Archives/archive.zip"))
{
// ลบไฟล์ตามดัชนี
archive.DeleteEntry(0);
// บันทึกไฟล์เก็บถาวรที่อัปเดต
archive.Save("Archives/updated-archive.zip");
}
รับใบอนุญาต API ฟรี
คุณสามารถใช้ Aspose.ZIP for .NET ได้โดยไม่มีข้อจำกัดในการประเมินโดยรับ ใบอนุญาตชั่วคราวฟรี
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีการลบไฟล์จากไฟล์ ZIP ใน C# ด้วยความช่วยเหลือของตัวอย่างโค้ด เราได้เห็นวิธีการลบไฟล์โดยใช้คลาส ArchiveEntry หรือดัชนี ในกรณีที่คุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ Aspose.ZIP for .NET คุณสามารถไปที่ เอกสารประกอบ นอกจากนี้ คุณสามารถถามคำถามผ่าน ฟอรัม ของเรา