ایجاد آرشیو 7Zip در C#

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

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

تمام مثال‌ها و کدها بر اساس API Aspose.ZIP برای .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) ذخیره کنید.

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

ایجاد آرشیو 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. ورودی‌ها را به آرشیو 7z با استفاده از روش SevenZipArchive.CreateEntry(String, FileInfo, Boolean, SevenZipEntrySettings) اضافه کنید.
  5. آرشیو را با استفاده از روش SevenZipArchive.Save(Stream) ذخیره کنید.

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

نتیجه‌گیری

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

مقالات مرتبط

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