Create 7Zip Archive in C#

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

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

ในคู่มือนี้ คุณจะได้เรียนรู้วิธีการ สร้าง 7z (7-Zip) archives โปรแกรมmatically โดยใช้ 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 Entries โดยใช้ C#

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

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

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

สรุป

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

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

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