วิธีการบีบอัดโฟลเดอร์ใน C#

วิธีการบีบอัดโฟลเดอร์ใน C#

บทความที่รวดเร็วนี้อธิบายวิธี zip a folder ใน C# มันให้ขั้นตอนรายละเอียดและตัวอย่างรหัสเพื่อช่วยในการสร้างไฟล์ ZIP สําหรับโฟลเดอร์และเนื้อหาของมัน การแก้ปัญหานี้ไม่จําเป็นต้องติดตั้งเครื่องมือบุคคลที่สามใด ๆ

ประโยชน์ของ Zipping Folders

  • ประสิทธิภาพพื้นท:

  • ลดพื้นที่จัดเก็บโดยการบีบอัดไฟล์

  • การจัดการไฟล์ที่กําหนดเอง:

  • รวมไฟล์หลายไฟล์เป็นไฟล์เดียวเพื่อให้การกระจายและจัดการได้ง่ายขึ้น

  • การถ่ายโอนที่รวดเร็ว:

  • ขนาดไฟล์ขนาดเล็กทําให้เวลาอัพโหลดและดาวน์โหลดเร็วขึ้น

ข้อกําหนด: การเตรียมสิ่งแวดล้อม

  • ติดตั้ง Visual Studio หรือ IDE .NET ที่เข้ากันได้ใด ๆ
  • ติดตั้งห้องสมุด Aspose.ZIP via NuGet Package Manager

คู่มือขั้นตอนเพื่อ ZIP a Folder ใน C#

ขั้นตอน 1: ติดตั้ง Aspose.ZIP

เพิ่มห้องสมุด Aspose.ZIP ไปยังโครงการของคุณโดยใช้ผู้จัดการแพคเกจ NuGet ซึ่งช่วยให้คุณสมบัติการบีบอัดไฟล์และโฟลเดอร์ในโครงการ .NET และ C#

Install-Package Aspose.ZIP

ขั้นตอน 2: สร้าง FileStream Object

อัปเดต A FileStream วัตถุสําหรับการออกไฟล์ ZIP ไฟล์นี้จะเป็นไฟล์ที่กําหนดเป้าหมายเช่น “AnimationImages.zip”

using System.IO;
var zippedFolder = File.Open("AnimationImages.zip", FileMode.Create);

ขั้นตอนที่ 3: สร้างวัตถุ Archive ZIP

สร้างตัวอย่างของ Archive ประเภทในการจัดการการดําเนินงานของไฟล์ ZIP ใน C#

using (Archive archiveFile = new Archive())
{
    // Further processing follows here
}

ขั้นตอนที่ 4: สร้างรายการในเอกสาร

เพิ่มไฟล์และโฟลเดอร์ทั้งหมดจากแผนที่เป้าหมายโดยใช้ CreateEntries วิธีการ. นี้ช่วยให้คุณ zip ทุกเนื้อหาของโฟลเดอร์ใน C#.

archiveFile.CreateEntries("AnimationImages");

ขั้นตอน 5: บันทึกไฟล์ ZIP

เมื่อรายการจะถูกสร้างให้บันทึกไฟล์ไปยังดิสก์ ซึ่งจะสร้างไฟล์ ZIP ที่มีไฟล์และ subfolders ที่เลือกทั้งหมด

archiveFile.Save(zippedFolder);

ตัวอย่างรหัสเต็มไป ZIP a Folder

นี่คือตัวอย่างที่สมบูรณ์แบบของ C# ที่แสดงให้เห็นว่าวิธีการ zip a folder, เพิ่มไฟล์ไปยังไฟล์ ZIP หรือ zip multiple files in a directory:

// Create a file stream object for the output zip file
using (FileStream zippedFolder = File.Open("AnimationImages.zip", FileMode.Create))
{
    // Create a Zip archive file class object
    using (Archive archiveFile = new Archive())
    {
        // Add all the files and folders recursively
        archiveFile.CreateEntries("AnimationImages");

        // Save the output ZIP file
        archiveFile.Save(zippedFolder);
    }
}

ข้อมูลเพิ่มเติม

  • คุณสามารถให้วัตถุชั้น DirectoryInfo เป็นแหล่งของไฟล์สําหรับไฟล์ ZIP output
  • นอกจากนี้คุณยังสามารถรวมสัญญาณเพื่อตรวจสอบว่าจะรวมโฟลเดอร์รากใน ZIP output หรือไม่
  • วิธีการนี้เหมาะสําหรับโครงการ .NET Core, .Net Framework และ ASP.NET
  • Aspose.ZIP สามารถจัดการกับไฟล์โฟลเดอร์และตารางใน C#

คําถามที่ถามบ่อย (FAQ)

ฉันจะ zip folder ใน C# ได้อย่างไร

ทําตามขั้นตอนข้างต้นเพื่อเพิ่ม Aspose.ZIP ไปยังโครงการของคุณและใช้ CreateEntries และ Save วิธีการ

ฉันสามารถสร้างไฟล์ ZIP ใน C# สําหรับไฟล์หลายไฟล์หรือไม่

ใช่ ใช้ CreateEntries วิธีการที่จะเพิ่มไฟล์ทั้งหมดในโฟลเดอร์หรือ เพิ่มไฟล์แต่ละครั้ง

ฉันจะ zip ไฟล์ในตารางโดยใช้ C# ได้อย่างไร

ผ่านเส้นทางไดเรกทอรีเพื่อ CreateEntries เพิ่มไฟล์และ subfolders ทั้งหมดไปยัง ZIP

โซลูชันนี้เข้ากันได้กับ .NET Core?

ใช่ Aspose.ZIP ทํางานร่วมกับโครงการ .NET Core, Framework และ ASP.NET

ฉันสามารถเพิ่มไฟล์ไปยังไฟล์ ZIP ใน C# ได้หรือไม่

ใช่คุณสามารถเปิดไฟล์ที่มีอยู่และเพิ่มไฟล์หรือโฟลเดอร์ตามความต้องการ

ฉันจะตรวจสอบว่าโฟลเดอร์รากอยู่ในไฟล์ ZIP ได้หรือไม่

ใช้ธงที่มีอยู่หรือตัวเลือกใน CreateEntries สําหรับการควบคุมที่มีคุณภาพดี

ข้อสรุป

คู่มือนี้ได้นําคุณผ่านกระบวนการของ zipping a complete folder in C# with Aspose.ZIP. คุณสามารถ zip maps, เพิ่มไฟล์ไปยัง ZIP, และจัดการการบีบอัดไฟล์ได้อย่างมีประสิทธิภาพใน .NET, .Net Core และแอพ ASP.NET. สําหรับการ extract หรือ unzipping archives, ดูบทเรียนอื่น ๆ ของเรามี.

 แบบไทย