วิธีการบีบอัดโฟลเดอร์ใน 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, ดูบทเรียนอื่น ๆ ของเรามี.