مقدمهای بر آرشیوهای ZIP در C#
آرشیوهای ZIP برای فشردهسازی و سازماندهی فایلها و پوشهها به یک ظرف واحد ضروری هستند. آنها نه تنها اندازه فایلها را برای ذخیرهسازی و انتقال مؤثر کاهش میدهند، بلکه متادیتا را حفظ کرده و میتوانند برای اهداف امنیتی رمزگذاری شوند. این مقاله شما را از طریق روشهای مختلف برای ایجاد برنامهنویسی فایلهای ZIP در C# راهنمایی خواهد کرد، شامل عملیاتهایی مانند اضافه کردن فایلها و پوشهها، ایجاد آرشیوهای محافظتشده با رمز عبور و اعمال رمزگذاری AES.
چه چیزی خواهید آموخت
در این مقاله، شما یاد خواهید گرفت که چگونه:
- ایجاد آرشیو ZIP با استفاده از C#
- اضافه کردن چندین فایل به آرشیو ZIP
- اضافه کردن پوشهها به آرشیو ZIP
- ایجاد آرشیو ZIP محافظتشده با رمز عبور با استفاده از ZipCrypto
- رمزگذاری آرشیو ZIP با رمزگذاری AES
- تنظیم حالت فشردهسازی موازی
کتابخانه ZIP C#
کتابخانه Aspose.ZIP برای .NET ابزاری قدرتمند برای انجام عملیات فایل ZIP در برنامههای .NET است. این کتابخانه فرآیند فشردهسازی یا بازکردن فایلها و پوشهها را ساده میکند و از رمزگذاری AES برای افزایش امنیت پشتیبانی میکند. شما میتوانید به راحتی این کتابخانه را از NuGet نصب کنید یا باینریها را از بخش Downloads دانلود کنید.
ایجاد آرشیو ZIP در C#
برای ایجاد برنامهنویسی فایل ZIP در C#، مراحل زیر را دنبال کنید:
- یک شیء FileStream برای آرشیو ZIP خروجی ایجاد کنید.
- فایل منبع را به عنوان یک شیء FileStream باز کنید.
- کلاس Archive را نمونهسازی کنید.
- فایل را با استفاده از متد Archive.CreateEntry(string, FileStream) به آرشیو اضافه کنید.
- آرشیو 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#، میتوانید مراحل زیر را دنبال کنید:
- یک شیء FileStream برای آرشیو ZIP خروجی ایجاد کنید.
- کلاس Archive را نمونهسازی کنید.
- از کلاس DirectoryInfo برای مشخص کردن پوشهای که میخواهید فشرده کنید استفاده کنید.
- پوشه را با استفاده از متد Archive.CreateEntries(DirectoryInfo) به ZIP اضافه کنید.
- آرشیو 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 ایجاد کنید و فشردهسازی موازی را پیکربندی کنید. اگر سوالی دارید یا به کمک بیشتری نیاز دارید، لطفاً از طریق فروم با ما تماس بگیرید.