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

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

บทความที่รวดเร็วนี้อธิบายวิธี zip a folder in 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, ดูบทเรียนอื่น ๆ ของเราม.

 แบบไทย