Create ZIP in C#

บทนำเกี่ยวกับ ZIP Archives ใน C#

ZIP archives เป็นสิ่งจำเป็นสำหรับการบีบอัดและจัดระเบียบไฟล์และโฟลเดอร์ให้เป็นภาชนะเดียว พวกเขาไม่เพียงแต่ลดขนาดไฟล์เพื่อการจัดเก็บและการส่งที่มีประสิทธิภาพ แต่ยังรักษาเมตาดาต้าและสามารถเข้ารหัสเพื่อวัตถุประสงค์ด้านความปลอดภัย บทความนี้จะนำคุณผ่านวิธีการต่าง ๆ ในการ สร้างไฟล์ ZIP โดยโปรแกรมใน C# โดยครอบคลุมการดำเนินการต่าง ๆ เช่น การเพิ่มไฟล์และโฟลเดอร์ การสร้าง ZIP archives ที่มีรหัสผ่าน และการใช้การเข้ารหัส AES

สิ่งที่คุณจะได้เรียนรู้

ในบทความนี้ คุณจะได้ค้นพบวิธีการ:

C# ZIP Library

Aspose.ZIP for .NET เป็นเครื่องมือที่ทรงพลังสำหรับจัดการการดำเนินการไฟล์ ZIP ภายในแอปพลิเคชัน .NET มันทำให้กระบวนการบีบอัดหรือแตกไฟล์และโฟลเดอร์ง่ายขึ้นและสนับสนุนการเข้ารหัส AES เพื่อเพิ่มความปลอดภัย คุณสามารถติดตั้งไลบรารีนี้ได้อย่างง่ายดายจาก NuGet หรือดาวน์โหลดไฟล์ไบนารีจากส่วน Downloads

สร้าง ZIP Archive ใน C#

เพื่อ สร้างไฟล์ ZIP โดยโปรแกรมใน C# ให้ทำตามขั้นตอนเหล่านี้:

  1. สร้างอ็อบเจ็กต์ FileStream สำหรับ ZIP archive ที่ส่งออก
  2. เปิดไฟล์ต้นทางเป็นอ็อบเจ็กต์ FileStream
  3. สร้างอ็อบเจ็กต์ Archive
  4. เพิ่มไฟล์ลงใน archive โดยใช้เมธอด Archive.CreateEntry(string, FileStream)
  5. บันทึก ZIP archive ด้วยเมธอด Archive.Save(FileStream)

นี่คือตัวอย่างโค้ดที่แสดงวิธีการเพิ่มไฟล์ลงใน ZIP archive ใน C#:

เพิ่มไฟล์หลายไฟล์ลงใน ZIP Archive ใน C#

เมื่อคุณต้องการ เพิ่มไฟล์หลายไฟล์ลงใน ZIP archive คุณสามารถใช้หลายวิธี:

ใช้ FileStream เพื่อเพิ่มไฟล์หลายไฟล์

วิธีนี้ใช้คลาส FileStream เพื่อเพิ่มไฟล์ลงใน ZIP archive ผ่านเมธอด Archive.CreateEntry(String, FileStream) นี่คือวิธีที่คุณสามารถทำได้:

ใช้ FileInfo สำหรับไฟล์หลายไฟล์

อีกทางเลือกหนึ่ง คุณสามารถใช้คลาส FileInfo เพื่อโหลดไฟล์และเพิ่มลงใน ZIP archive ด้วยเมธอด Archive.CreateEntry(String, FileInfo) ด้านล่างนี้คือตัวอย่างโค้ด:

ใช้เส้นทางไฟล์

คุณยังสามารถระบุเส้นทางไฟล์โดยตรงไปยังเมธอด Archive.CreateEntry(String name, String path, Boolean openImmediately, ArchiveEntrySettings newEntrySettings) นี่คือตัวอย่าง:

เพิ่มโฟลเดอร์ลงใน ZIP Archive ใน C#

เพื่อ เพิ่มโฟลเดอร์ลงใน ZIP archive ใน C# คุณสามารถทำตามขั้นตอนเหล่านี้:

  1. สร้างอ็อบเจ็กต์ FileStream สำหรับ ZIP archive ที่ส่งออก
  2. สร้างอ็อบเจ็กต์ Archive
  3. ใช้คลาส DirectoryInfo เพื่อระบุโฟลเดอร์ที่คุณต้องการบีบอัด
  4. เพิ่มโฟลเดอร์ลงใน ZIP โดยใช้เมธอด Archive.CreateEntries(DirectoryInfo)
  5. บันทึก ZIP archive ด้วยเมธอด Archive.Save(FileStream)

นี่คือตัวอย่างโค้ดที่แสดงวิธีการเพิ่มโฟลเดอร์ลงในไฟล์ ZIP:

สร้าง ZIP ที่มีรหัสผ่านโดยใช้ ZipCrypto ใน C#

เพื่อรักษาความปลอดภัยให้กับ ZIP archives ของคุณ คุณสามารถใช้การป้องกันด้วยรหัสผ่านโดยใช้การเข้ารหัส ZipCrypto ซึ่งจะทำได้โดยการใช้คลาส ArchiveEntrySettings ในตัวสร้างของ Archive ซึ่งรับประเภทการเข้ารหัสเป็นพารามิเตอร์

นี่คือวิธีการสร้าง ZIP archive ที่มีรหัสผ่านโดยใช้ ZipCrypto ใน C#:

สร้าง ZIP ที่มีรหัสผ่านด้วยการเข้ารหัส AES

ไลบรารี Aspose.ZIP for .NET ยังสนับสนุนการเข้ารหัส AES สำหรับการป้องกัน ZIP archives คุณสามารถเลือกจากวิธีการเข้ารหัส AES ต่อไปนี้:

  • AES128
  • AES192
  • AES256

ในการใช้การเข้ารหัส AES ใช้คลาส AesEcryptionSettings ด้านล่างนี้คือตัวอย่างโค้ดที่แสดงวิธีการสร้าง ZIP ที่มีรหัสผ่านด้วยการเข้ารหัส AES ใน C#:

ตั้งค่าโหมดการบีบอัดแบบขนาน

เพื่อจัดการหลายรายการอย่างมีประสิทธิภาพ คุณสามารถกำหนด API สำหรับการบีบอัดแบบขนานโดยใช้คลาส ParallelOptions โหมดการบีบอัดแบบขนานที่มีให้คือ:

  • Never - ไม่บีบอัดแบบขนาน
  • Always - บีบอัดแบบขนาน (ระวังปัญหาหน่วยความจำที่อาจเกิดขึ้น)
  • Auto - ตัดสินใจโดยอัตโนมัติว่าจะใช้การบีบอัดแบบขนานตามรายการหรือไม่

นี่คือวิธีการตั้งค่าโหมดการบีบอัดแบบขนานในขณะที่บีบอัดไฟล์หลายไฟล์ด้วยไลบรารี Aspose C# ZIP:

เรียนรู้เพิ่มเติมเกี่ยวกับ C# .NET ZIP Library

เพื่อเพิ่มพูนความเข้าใจของคุณเกี่ยวกับ C# ZIP library สำรวจแหล่งข้อมูลต่อไปนี้:

ลองใช้เครื่องมือบีบอัด ZIP ออนไลน์ของเรา

คุณยังสามารถทดลองใช้ แอปพลิเคชันออนไลน์ฟรี ที่ใช้ Aspose.ZIP for .NET เพื่อบีบอัดไฟล์ลงใน ZIP archives ได้อย่างง่ายดาย

สรุป

ในบทความนี้ คุณได้เรียนรู้วิธีการ สร้าง ZIP archives โดยโปรแกรมใน C# ตัวอย่างโค้ดที่ให้ไว้แสดงวิธีการเพิ่มไฟล์และโฟลเดอร์ลงใน ZIP archives สร้างไฟล์ ZIP ที่มีรหัสผ่านโดยใช้ ZipCrypto และวิธีการเข้ารหัส AES และกำหนดการบีบอัดแบบขนาน หากคุณมีคำถามหรือจำเป็นต้องขอความช่วยเหลือเพิ่มเติม สามารถติดต่อเราได้ที่ ฟอรัม

ดูเพิ่มเติม

Unrar หรือ Extract Files โดยใช้ C#Unzip Files ใน ZIP Archives โดยใช้ C#สร้าง 7z (7-Zip) Archives ใน C# .NET
เปิดหรือ Extract 7z (7zip) File ใน C# .NETสร้างและ Extract GZip Archives โดยใช้ C#แปลงไฟล์ RAR เป็น ZIP Archive ใน C#
แปลง ZIP Archives เป็น TAR ใน C#สร้าง ZIP Archive แบบแบนใน C#สร้าง Executable Self-extracting Archive ใน C#
สร้าง TAR.GZ และ TAR.XZ Files ใน C#ลบไฟล์ใน ZIP Archive ใน C#Extract Nested ZIP Archives ใน C#
รวมหลาย ZIP หรือ TAR Archives ใน C#วิธีการสร้างไฟล์ ZIPExtract 7z ออนไลน์