ایجاد ZIP در C#

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

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

چه چیزی خواهید آموخت

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

کتابخانه ZIP C#

کتابخانه Aspose.ZIP برای .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 برای .NET همچنین از رمزگذاری AES برای محافظت از آرشیوهای ZIP پشتیبانی می‌کند. شما می‌توانید از روش‌های زیر برای رمزگذاری AES استفاده کنید:

  • AES128
  • AES192
  • AES256

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

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

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

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

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

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

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

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

شما همچنین می‌توانید با برنامه آنلاین رایگان ما مبتنی بر Aspose.ZIP برای .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 آنلاین