Create ZIP in C#

مقدمه‌ای بر آرشیوهای ZIP در C#

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

آنچه شما خواهید آموخت

در این مقاله، شما یاد خواهید گرفت که چگونه:

کتابخانه ZIP C#

کتابخانه Aspose.ZIP for .NET ابزاری قوی برای مدیریت عملیات فایل ZIP در برنامه‌های .NET است و کار با فشرده‌سازی یا باز کردن فایل‌ها و پوشه‌ها را آسان‌تر می‌کند. همچنین از رمزگذاری AES برای افزایش امنیت پشتیبانی می‌کند. شما می‌توانید به راحتی این کتابخانه را از NuGet نصب کنید یا باینری‌ها را از بخش Downloads دانلود کنید.

ایجاد یک آرشیو ZIP در C#

برای ایجاد برنامه‌نویسی یک فایل ZIP در C#، مراحل زیر را دنبال کنید:

  1. یک شیء FileStream برای آرشیو ZIP خروجی ایجاد کنید.
  2. فایل منبع را به عنوان یک شیء FileStream باز کنید.
  3. کلاس Archive را نمونه‌سازی کنید.
  4. فایل را با استفاده از روش Archive.CreateEntry(string, FileStream) به آرشیو اضافه کنید.
  5. آرشیو ZIP را با روش Archive.Save(FileStream) ذخیره کنید.

در اینجا یک نمونه کد وجود دارد که نحوه اضافه کردن یک فایل به آرشیو ZIP در C# را نشان می‌دهد:

اضافه کردن چندین فایل به یک آرشیو ZIP در C#

زمانی که شما نیاز به اضافه کردن چندین فایل به یک آرشیو ZIP دارید، چندین رویکرد وجود دارد که می‌توانید از آنها استفاده کنید:

استفاده از FileStream برای اضافه کردن چندین فایل

این روش از کلاس FileStream برای اضافه کردن فایل‌ها به آرشیو ZIP از طریق روش Archive.CreateEntry(String, FileStream) استفاده می‌کند. در اینجا نحوه انجام آن آمده است:

استفاده از FileInfo برای فایل‌های چندگانه

به طور جایگزین، شما می‌توانید از کلاس FileInfo برای بارگذاری فایل‌ها و اضافه کردن آنها به آرشیو ZIP با استفاده از روش Archive.CreateEntry(String, FileInfo) استفاده کنید. در زیر یک نمونه کد آورده شده است:

استفاده از مسیرهای فایل

شما همچنین می‌توانید مسیرهای فایل را به طور مستقیم به روش Archive.CreateEntry(String name, String path, Boolean openImmediately, ArchiveEntrySettings newEntrySettings) ارائه دهید. در اینجا یک مثال آمده است:

اضافه کردن پوشه‌ها به یک آرشیو ZIP در C#

برای اضافه کردن یک پوشه به یک آرشیو ZIP در C#، مراحل زیر را دنبال کنید:

  1. یک شیء FileStream برای آرشیو ZIP خروجی ایجاد کنید.
  2. کلاس Archive را نمونه‌سازی کنید.
  3. از کلاس DirectoryInfo برای مشخص کردن پوشه‌ای که می‌خواهید فشرده کنید استفاده کنید.
  4. پوشه را با استفاده از روش Archive.CreateEntries(DirectoryInfo) به ZIP اضافه کنید.
  5. آرشیو ZIP را با روش Archive.Save(FileStream) ذخیره کنید.

در اینجا یک نمونه کد وجود دارد که نحوه اضافه کردن یک پوشه به یک فایل ZIP را نشان می‌دهد:

ایجاد یک ZIP محافظت‌شده با رمز با استفاده از ZipCrypto در C#

برای تأمین امنیت آرشیوهای ZIP خود، می‌توانید از حفاظت با رمز عبور با استفاده از رمزگذاری ZipCrypto استفاده کنید. این کار با استفاده از کلاس ArchiveEntrySettings در سازنده کلاس Archive انجام می‌شود که نوع رمزگذاری را به عنوان پارامتر می‌پذیرد.

در اینجا نحوه ایجاد یک آرشیو ZIP محافظت‌شده با رمز با استفاده از ZipCrypto در C# آمده است:

ایجاد ZIP محافظت‌شده با رمز با رمزگذاری AES

کتابخانه Aspose.ZIP for .NET همچنین از رمزگذاری AES برای محافظت از آرشیوهای ZIP پشتیبانی می‌کند. شما می‌توانید یکی از روش‌های رمزگذاری AES زیر را انتخاب کنید:

  • AES128
  • AES192
  • AES256

برای اعمال رمزگذاری AES، از کلاس AesEcryptionSettings استفاده کنید. در زیر یک نمونه کد وجود دارد که نحوه ایجاد یک ZIP محافظت‌شده با رمز با رمزگذاری AES در C# را نشان می‌دهد:

تنظیم حالت فشرده‌سازی موازی

برای مدیریت مؤثر چندین ورودی، می‌توانید API را برای فشرده‌سازی موازی با استفاده از کلاس ParallelOptions پیکربندی کنید. حالت‌های فشرده‌سازی موازی موجود عبارتند از:

  • هرگز - در حالت موازی فشرده‌سازی نکنید.
  • همیشه - در حالت موازی فشرده‌سازی کنید (به مشکلات احتمالی حافظه توجه کنید).
  • خودکار - به طور خودکار تصمیم بگیرید که آیا از فشرده‌سازی موازی بر اساس ورودی‌ها استفاده کنید.

در اینجا نحوه تنظیم حالت فشرده‌سازی موازی در حین فشرده‌سازی چندین فایل با کتابخانه ZIP C# Aspose آمده است:

بیشتر درباره کتابخانه ZIP C# .NET بیاموزید

برای عمیق‌تر کردن درک خود از کتابخانه ZIP C#، منابع زیر را بررسی کنید:

ابزار فشرده‌سازی ZIP آنلاین ما را امتحان کنید

شما همچنین می‌توانید با برنامه آنلاین رایگان ما که مبتنی بر Aspose.ZIP for .NET است، برای فشرده‌سازی فایل‌ها به آرشیوهای ZIP به راحتی آزمایش کنید.

نتیجه‌گیری

در این مقاله، شما یاد گرفتید که چگونه آرشیوهای ZIP را به صورت برنامه‌نویسی در C# ایجاد کنید. نمونه‌های کد ارائه شده نحوه اضافه کردن فایل‌ها و پوشه‌ها به آرشیوهای ZIP، ایجاد فایل‌های ZIP محافظت‌شده با رمز با استفاده از روش‌های ZipCrypto و AES و پیکربندی فشرده‌سازی موازی را نشان می‌دهند. اگر سوالی دارید یا به کمک بیشتری نیاز دارید، لطفاً از طریق فروم با ما تماس بگیرید.

همچنین ببینید

استخراج یا باز کردن فایل‌ها با استفاده از C#باز کردن فایل‌ها در آرشیوهای ZIP با استفاده از C#ایجاد آرشیوهای 7z (7-Zip) در C# .NET
باز کردن یا استخراج فایل 7z (7zip) در C# .NETایجاد و استخراج آرشیوهای GZip با استفاده از C#تبدیل فایل‌های RAR به آرشیو ZIP در C#
تبدیل آرشیوهای ZIP به TAR در C#ایجاد یک آرشیو ZIP مسطح در C#ایجاد آرشیو خود استخراج شونده در C#
ایجاد فایل‌های TAR.GZ و TAR.XZ در C#حذف فایل‌ها در یک آرشیو ZIP در C#استخراج آرشیوهای ZIP تو در تو در C#
ادغام چندین آرشیو ZIP یا TAR در C#چگونه فایل‌های ZIP ایجاد کنیماستخراج 7z آنلاین