Create 7Zip Archive in C#

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

ในคู่มือนี้ คุณจะได้เรียนรู้วิธีการ สร้าง 7z (7-Zip) archives โดยโปรแกรมใช้ C# เราจะครอบคลุม:

ตัวอย่างและโค้ดทั้งหมดอิงจาก Aspose.ZIP for .NET API ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง API โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้:

สร้าง 7z (7-Zip) Archive โดยใช้ C#

คุณสามารถบีบอัดไฟล์ลงใน 7z archive ในสองสถานการณ์หลัก: เมื่อจัดการกับไฟล์เดียวหรือหลายไฟล์ นี่คือวิธีจัดการทั้งสองสถานการณ์

สร้าง 7z Archive ที่มีรายการเดียว

เพื่อสร้าง 7z archive ที่มีไฟล์เดียว ให้ทำตามขั้นตอนเหล่านี้:

  1. เปิด FileStream ใหม่เพื่อสร้างไฟล์ 7z
  2. สร้างอินสแตนซ์ของคลาส SevenZipArchive
  3. เพิ่มไฟล์ลงใน archive โดยใช้วิธี SevenZipArchive.CreateEntry(String, String, Boolean, SevenZipEntrySettings)
  4. บันทึก archive โดยใช้วิธี SevenZipArchive.Save(Stream)

นี่คือตัวอย่าง C# 7z archive ที่แสดงขั้นตอนข้างต้น:

สร้าง 7z Archive ที่มีหลายรายการ

หากคุณต้องการบีบอัดหลายไฟล์ คุณสามารถวางไฟล์เหล่านั้นในโฟลเดอร์และส่งผ่านเส้นทางของโฟลเดอร์ไปยังวิธี SevenZipArchive.CreateEntries() ทำตามขั้นตอนเหล่านี้:

  1. สร้างอินสแตนซ์ของคลาส SevenZipArchive
  2. ส่งผ่านเส้นทางของโฟลเดอร์ไปยังวิธี SevenZipArchive.CreateEntries(String, Boolean)
  3. เรียกใช้วิธี SevenZipArchive.Save(String)

นี่คือวิธีสร้าง 7z archive ที่มีหลายรายการโดยใช้ C#:

สร้าง 7z Archive ที่เข้ารหัส AES โดยใช้ C#

รูปแบบ 7z รองรับการเข้ารหัส AES เพื่อความปลอดภัยเพิ่มเติม เพื่อเข้ารหัสไฟล์ 7z ให้ใช้คลาส SevenZipAESEncryptionSettings ด้านล่างนี้เป็นตัวอย่างโค้ดที่แสดงวิธีการสร้าง 7z archive ที่เข้ารหัส AES โดยใช้ C#:

ตั้งค่ารหัสผ่านที่แตกต่างกันสำหรับรายการ 7z โดยใช้ C#

รูปแบบ 7z ยังช่วยให้คุณกำหนดรหัสผ่านเฉพาะสำหรับแต่ละรายการไฟล์ หากคุณกำลังบีบอัดหลายไฟล์ คุณสามารถระบุรหัสผ่านที่แตกต่างกันสำหรับแต่ละไฟล์ นี่คือวิธีการทำ:

  1. สร้าง FileStream ใหม่สำหรับไฟล์ archive 7z
  2. เข้าถึงแต่ละรายการไฟล์โดยใช้คลาส FileInfo
  3. สร้างอินสแตนซ์ของคลาส SevenZipArchive
  4. เพิ่มรายการลงใน 7z archive โดยใช้วิธี SevenZipArchive.CreateEntry(String, FileInfo, Boolean, SevenZipEntrySettings)
  5. บันทึก archive โดยใช้วิธี SevenZipArchive.Save(Stream)

ตรวจสอบตัวอย่างโค้ดต่อไปนี้เพื่อดูวิธีตั้งค่ารหัสผ่านที่แตกต่างกันสำหรับแต่ละรายการใน 7z archive:

สรุป

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

บทความที่เกี่ยวข้อง

โดยการใช้ Aspose Plugin สำหรับ .NET คุณสามารถรวม .NET 7-Zip compression เข้ากับแอปพลิเคชันของคุณได้อย่างง่ายดาย ปรับปรุงกระบวนการจัดการไฟล์ของคุณ และเพิ่มความสามารถให้กับซอฟต์แวร์ของคุณ สำหรับเพียง $99 คุณสามารถปลดล็อกฟีเจอร์ที่ทรงพลังที่รองรับการจัดการไฟล์ขนาดใหญ่ การบีบอัดแบบอะซิงโครนัส และอื่นๆ