هنگام کار با فایلهای ZIP، ممکن است اغلب متوجه شوید که چندین آرشیو ZIP درون یک آرشیو ZIP والد قرار دارند. برای دسترسی به محتوای این آرشیوهای تو در تو، ابتدا باید آرشیو ZIP والد را استخراج کرده و سپس هر آرشیو تو در تو را به صورت جداگانه مدیریت کنید. در این مقاله، ما شما را راهنمایی خواهیم کرد چگونه آرشیوهای ZIP تو در تو را در C# .NET به طور مؤثر و بدون کد پیچیده استخراج کنید.
فهرست مطالب
- استفاده از API داتنت برای استخراج آرشیو ZIP تو در تو
- راهنمای مرحله به مرحله برای خارج کردن آرشیوهای ZIP تو در تو
استفاده از API داتنت برای استخراج آرشیو ZIP تو در تو
برای انجام استخراج آرشیوهای ZIP تو در تو، ما از کتابخانه Aspose.ZIP برای .NET استفاده خواهیم کرد. این API قدرتمند به طور خاص برای عملیات آرشیو در برنامههای .NET طراحی شده است و به شما این امکان را میدهد که فرمتهای مختلف آرشیو را به راحتی ایجاد و مدیریت کنید. شما میتوانید DLL این API را دانلود کنید یا بهطور مستقیم با استفاده از NuGet با استفاده از دستور زیر نصب کنید:
PM> Install-Package Aspose.Zip
راهنمای مرحله به مرحله برای خارج کردن آرشیوهای ZIP تو در تو
برای نمایش، ما یک فایل ZIP آماده کردهایم که شامل سه ورودی است، از جمله آرشیوهای ZIP تو در تو.
ما هر آرشیو ZIP تو در تو را استخراج کرده و محتوای آن را در پوشههای جداگانه ذخیره خواهیم کرد. در اینجا مراحل پردازش فایلهای ZIP تو در تو در .NET آورده شده است:
- ایجاد یک FileStream: فایل ZIP والد را با استفاده از یک شیء FileStream بارگذاری کنید.
- بارگذاری فایل ZIP: از کلاس Archive برای بارگذاری فایل ZIP استفاده کنید.
- تکرار از طریق ورودیهای آرشیو: از طریق هر ArchiveEntry در مجموعه Archive.Entries حلقه بزنید.
- فیلتر کردن آرشیوهای ZIP تو در تو: آرشیوهای ZIP را در مجموعه شناسایی کنید و برای هر یک از این آرشیوها، مراحل زیر را انجام دهید:
- ایجاد یک MemoryStream: یک MemoryStream ایجاد کرده و ورودی آرشیو را با استفاده از روش ArchiveEntry.Open().CopyTo(Stream) در آن کپی کنید.
- بارگذاری آرشیو تو در تو: یک نمونه از کلاس Archive ایجاد کنید تا آرشیو تو در تو را از MemoryStream بارگذاری کنید.
- استخراج به دایرکتوری: در نهایت، محتوای آرشیو تو در تو را با استفاده از روش Archive.ExtractToDirectory(string) به یک پوشه مشخص استخراج کنید.
در اینجا یک نمونه کد نشان میدهد که چگونه آرشیوهای ZIP تو در تو را در C# .NET خارج کنیم:
اسکرینشات زیر محتوای استخراج شده از آرشیوهای ZIP تو در تو را نشان میدهد:
دریافت یک مجوز API رایگان
شما میتوانید یک مجوز موقت رایگان برای Aspose.ZIP برای .NET دریافت کنید که به شما این امکان را میدهد که از کتابخانه بدون هیچ محدودیتی در ارزیابی استفاده کنید.
نتیجهگیری
در این مقاله، شما بهترین روش برای خارج کردن فایلهای ZIP تو در تو در C# را یاد گرفتید. راهنمای مرحله به مرحله و نمونه کد ارائه شده نشان میدهد که چگونه به طور مؤثر آرشیوهای ZIP تو در تو را با استفاده از فریمورک .NET مدیریت کنید. برای بررسی بیشتر ویژگیها، میتوانید به مستندات Aspose.ZIP مراجعه کنید یا سوالات خود را در فروم ما بپرسید.