Create ZIP in C#

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

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

ในบทความนี้ เราจะสำรวจวิธีการต่าง ๆ ในการ สร้าง ZIP archives ใน C# อย่างมีโปรแกรม คุณจะได้เรียนรู้วิธีการ:

C# ZIP Library

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

สร้าง ZIP Archive ใน C#

ในการบีบอัดไฟล์ลงใน ZIP archive ให้ทำตามขั้นตอนเหล่านี้:

  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 เพื่อเพิ่มไฟล์ วิธีนี้จะโหลดไฟล์โดยใช้คลาส FileInfo และเพิ่มไปยัง ZIP archive ด้วยวิธี Archive.CreateEntry(String, FileInfo) ดูตัวอย่างด้านล่าง:

ใช้ File Path

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

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

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

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

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

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

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

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

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

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

  • AES128
  • AES192
  • AES256

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

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

สำหรับกรณีที่เกี่ยวข้องกับหลายรายการ คุณสามารถกำหนดค่า API สำหรับการบีบอัดแบบขนานโดยใช้คลาส ParallelOptions Aspose.ZIP สำหรับ .NET มีโหมดการบีบอัดแบบขนานหลายประเภท:

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

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

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

ดำดิ่งลึกลงไปใน C# ZIP API ของเราด้วยทรัพยากรต่อไปนี้:

ลอง ZIP Archives ออนไลน์

สำรวจ แอปพลิเคชันออนไลน์ฟรี ของเรา ซึ่งอิงจาก Aspose.ZIP สำหรับ .NET เพื่อบีบอัดไฟล์ลงใน ZIP archives ได้อย่างง่ายดาย

สรุป

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

ดูเพิ่มเติม

Unrar or Extract Files using C#Unzip Files in ZIP Archives using C#Create 7z (7-Zip) Archives in C# .NET
Open or Extract 7z (7zip) File in C# .NETCreate and Extract GZip Archives using C#Convert RAR Files to ZIP Archive in C#
Convert ZIP Archives to TAR in C#Create a Flat ZIP Archive in C#Create Executable Self-Extracting Archive in C#
Create TAR.GZ and TAR.XZ Files in C#Delete Files in a ZIP Archive in C#Extract Nested ZIP Archives in C#
Merge Multiple ZIP or TAR Archives in C#How to Create ZIP FilesExtract 7z Online