Create 7Zip Archive in C#

در یک پست قبلی، ما روش‌های مختلفی برای ایجاد آرشیوهای ZIP با استفاده از C# بررسی کردیم. در این مقاله، ما بر اساس آن پایه، بر روی فرمت 7z تمرکز خواهیم کرد. فرمت 7z بر اساس یک معماری متن باز است و نسبت فشرده‌سازی بالایی را ارائه می‌دهد، همراه با قابلیت استفاده از رمزگذاری AES 256 بیتی برای ایمن‌سازی فایل‌ها و نام‌های آن‌ها.

آنچه یاد خواهید گرفت

در این راهنما، شما یاد خواهید گرفت که چگونه آرشیوهای 7z (7-Zip) را به صورت برنامه‌نویسی با استفاده از C# ایجاد کنید. ما موارد زیر را پوشش خواهیم داد:

تمام مثال‌ها و کدهای نمونه بر اساس API Aspose.ZIP for .NET است. اطمینان حاصل کنید که API را با استفاده از یکی از روش‌های زیر نصب کرده‌اید:

ایجاد آرشیو 7z (7-Zip) با استفاده از C#

شما می‌توانید فایل‌ها را به یک آرشیو 7z در دو سناریوی اصلی فشرده کنید: زمانی که با یک فایل تکی یا چندین فایل سروکار دارید. در اینجا نحوه مدیریت هر دو وضعیت آورده شده است.

ایجاد آرشیو 7z با ورودی تکی

برای ایجاد یک آرشیو 7z با یک فایل تکی، مراحل زیر را دنبال کنید:

  1. یک FileStream جدید برای ایجاد یک فایل 7z باز کنید.
  2. یک نمونه از کلاس SevenZipArchive ایجاد کنید.
  3. فایل را با استفاده از روش SevenZipArchive.CreateEntry(String, String, Boolean, SevenZipEntrySettings) به آرشیو اضافه کنید.
  4. آرشیو را با استفاده از روش SevenZipArchive.Save(Stream) ذخیره کنید.

در اینجا یک مثال آرشیو 7z C# که مراحل فوق را نشان می‌دهد:

ایجاد آرشیو 7z با ورودی‌های چندگانه

اگر نیاز به فشرده‌سازی چندین فایل دارید، می‌توانید آن‌ها را در یک پوشه قرار دهید و مسیر پوشه را به روش SevenZipArchive.CreateEntries() منتقل کنید. مراحل زیر را دنبال کنید:

  1. یک نمونه از کلاس SevenZipArchive ایجاد کنید.
  2. مسیر پوشه را به روش SevenZipArchive.CreateEntries(String, Boolean) منتقل کنید.
  3. روش SevenZipArchive.Save(String) را فراخوانی کنید.

در اینجا نحوه ایجاد یک آرشیو 7z با ورودی‌های چندگانه با استفاده از C# آورده شده است:

ایجاد یک آرشیو 7z رمزگذاری شده با AES با استفاده از C#

فرمت 7z از رمزگذاری AES برای امنیت بیشتر پشتیبانی می‌کند. برای رمزگذاری یک فایل 7z، از کلاس SevenZipAESEncryptionSettings استفاده کنید. در زیر یک نمونه کد آورده شده است که نشان می‌دهد چگونه یک آرشیو 7z رمزگذاری شده با AES را با استفاده از C# ایجاد کنید:

تنظیم رمزهای عبور مختلف برای ورودی‌های 7z با استفاده از C#

فرمت 7z همچنین به شما اجازه می‌دهد که یک رمز عبور منحصر به فرد برای هر ورودی فایل تعیین کنید. اگر چندین فایل را فشرده می‌کنید، می‌توانید رمزهای عبور مختلفی را برای هر کدام مشخص کنید. در اینجا نحوه انجام این کار آورده شده است:

  1. یک FileStream جدید برای فایل آرشیو 7z ایجاد کنید.
  2. به هر ورودی فایل با استفاده از کلاس FileInfo دسترسی پیدا کنید.
  3. یک نمونه از کلاس SevenZipArchive ایجاد کنید.
  4. ورودی‌ها را با استفاده از روش SevenZipArchive.CreateEntry(String, FileInfo, Boolean, SevenZipEntrySettings) به آرشیو 7z اضافه کنید.
  5. آرشیو را با استفاده از روش SevenZipArchive.Save(Stream) ذخیره کنید.

به نمونه کد زیر نگاهی بیندازید تا ببینید چگونه می‌توانید رمزهای عبور مختلفی را برای هر ورودی در یک آرشیو 7z تنظیم کنید:

نتیجه‌گیری

در این مقاله، ما بررسی کردیم که چگونه آرشیوهای 7z را به صورت برنامه‌نویسی با استفاده از C# ایجاد کنیم. همچنین در مورد پیاده‌سازی رمزگذاری AES برای امنیت بیشتر و نحوه تنظیم رمزهای عبور منحصر به فرد برای هر ورودی فایل بحث کردیم. برای مطالعه بیشتر در مورد فشرده‌سازی و استخراج فایل، می‌توانید به مستندات Aspose.ZIP مراجعه کنید.

مقالات مرتبط

با استفاده از افزونه Aspose برای .NET، شما می‌توانید به راحتی فشرده‌سازی 7-Zip .NET را به برنامه‌های خود ادغام کنید، فرآیندهای مدیریت فایل خود را ساده کنید و قابلیت‌های نرم‌افزار خود را افزایش دهید. تنها با 99 دلار می‌توانید ویژگی‌های قدرتمندی را که از مدیریت فایل‌های بزرگ، فشرده‌سازی غیرهمزمان و موارد دیگر پشتیبانی می‌کند، فعال کنید.