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

فهرست مطالب

استفاده از API .NET برای استخراج آرشیوهای ZIP تو در تو

برای انجام استخراج آرشیوهای ZIP تو در تو، ما از کتابخانه Aspose.ZIP for .NET استفاده خواهیم کرد. این API قدرتمند به طور خاص برای عملیات آرشیو در برنامه‌های .NET طراحی شده است و به شما این امکان را می‌دهد که انواع فرمت‌های آرشیو را به راحتی ایجاد و مدیریت کنید. شما می‌توانید DLL API را دانلود کنید یا به طور مستقیم با استفاده از NuGet آن را با دستور زیر نصب کنید:

PM> Install-Package Aspose.Zip

راهنمای گام به گام برای استخراج آرشیوهای ZIP تو در تو

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

Nested ZIP Archives

آرشیوهای ZIP تو در تو

ما هر آرشیو ZIP تو در تو را استخراج کرده و محتوای آن را در پوشه‌های جداگانه ذخیره خواهیم کرد. در اینجا مراحل پردازش فایل ZIP تو در تو در .NET آورده شده است:

  1. ایجاد یک FileStream: فایل ZIP والد را با استفاده از شیء FileStream بارگذاری کنید.
  2. بارگذاری فایل ZIP: از کلاس Archive برای بارگذاری فایل ZIP استفاده کنید.
  3. تکرار در ورودی‌های آرشیو: از طریق هر ArchiveEntry در مجموعه Archive.Entries حلقه بزنید.
  4. فیلتر کردن آرشیوهای ZIP تو در تو: آرشیوهای ZIP را در مجموعه شناسایی کنید و برای هر یک از این آرشیوها، مراحل زیر را انجام دهید:
    • ایجاد یک MemoryStream: یک MemoryStream ایجاد کرده و ورودی آرشیو را با استفاده از متد ArchiveEntry.Open().CopyTo(Stream) در آن کپی کنید.
    • بارگذاری آرشیو تو در تو: یک نمونه از کلاس Archive ایجاد کنید تا آرشیو تو در تو را از MemoryStream بارگذاری کنید.
    • استخراج به دایرکتوری: در نهایت، محتوای آرشیو تو در تو را با استفاده از متد Archive.ExtractToDirectory(string) به یک پوشه مشخص استخراج کنید.

در اینجا یک نمونه کد وجود دارد که نشان می‌دهد چگونه آرشیوهای ZIP تو در تو را در C# .NET استخراج کنید:

اسکرین‌شات زیر محتوای استخراج شده از آرشیوهای ZIP تو در تو را نشان می‌دهد:

Extracting nested ZIP archives in C# .NET

آرشیوهای تو در تو استخراج شده

دریافت مجوز API رایگان

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

نتیجه‌گیری

در این مقاله، شما بهترین روش استخراج فایل‌های ZIP تو در تو در C# را یاد گرفتید. راهنمای گام به گام و نمونه کدی که ارائه شده است، نشان می‌دهد که چگونه به طور مؤثر آرشیوهای ZIP تو در تو را با استفاده از فریم‌ورک .NET مدیریت کنید. برای بررسی بیشتر ویژگی‌ها، می‌توانید به مستندات Aspose.ZIP مراجعه کنید یا سوالاتی را در انجمن ما بپرسید.

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