چگونه فایل زیپ را در C# استخراج کنیم

چگونه فایل زیپ را در C# استخراج کنیم

در این آموزش، شما یاد خواهید گرفت که چگونه فایل‌های فشرده zip را با استفاده از کد C# استخراج کنید. با استفاده از کتابخانه Aspose.ZIP، می‌توانید به راحتی آرشیوهای فرمت‌های مختلف مانند ZIP، GZip، RAR، TAR و 7Zip را مستقیماً در برنامه‌های خود باز کنید.

مزایای استخراج فایل‌های ZIP

  1. مدیریت فایل:
    • ساده‌سازی مدیریت و سازماندهی مجموعه‌های بزرگ فایل‌ها.
  2. سازگاری:
    • به راحتی با فرمت‌های مختلف فایلی که توسط Aspose.ZIP پشتیبانی می‌شود، یکپارچه می‌شود.
  3. فرایندهای خودکار:
    • ایده‌آل برای برنامه‌هایی که به استخراج فایل‌های خودکار نیاز دارند.

پیش‌نیازها: آماده‌سازی محیط

  1. Visual Studio یا هر IDE سازگار با .NET را راه‌اندازی کنید.
  2. Aspose.ZIP را از NuGet Package Manager نصب کنید.

راهنمای گام به گام برای استخراج فایل ZIP در C#

گام 1: نصب Aspose.ZIP

با اضافه کردن کتابخانه Aspose.ZIP به پروژه‌تان شروع کنید.

Install-Package Aspose.ZIP

گام 2: شامل کردن فضای نام

یک ارجاع به فضای نام Aspose.Zip در کد خود اضافه کنید.

using Aspose.Zip;

گام 3: بارگذاری فایل ZIP

فایل ZIP را با استفاده از یک شیء FileStream باز کنید.

FileStream zipFileToBeExtracted = File.Open("ZipFileToBeExtracted.zip", FileMode.Open);

گام 4: ایجاد یک شیء آرشیو

شیء FileStream را به یک شیء آرشیو بارگذاری کنید.

Archive zipArchiveToExtract = new Archive(zipFileToBeExtracted);

گام 5: شمارش فایل‌های موجود در آرشیو

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

int numberOfFilesInArchive = zipArchiveToExtract.Entries.Count;

گام 6: استخراج هر ورودی

از طریق هر ورودی در آرشیو عبور کرده و فایل‌ها را استخراج کنید.

for (int fileCounter = 0; fileCounter < numberOfFilesInArchive; fileCounter++)
{
    ArchiveEntry archiveFileEntry = zipArchiveToExtract.Entries[fileCounter];
    string nameOfFileInZipEntry = archiveFileEntry.Name;
    archiveFileEntry.Extract(nameOfFileInZipEntry);
}

مثال کامل کد برای استخراج یک فایل ZIP

در زیر مثال کامل استخراج یک فایل ZIP با استفاده از C# آمده است:

// Open file from disk using a file stream
FileStream zipFileToBeExtracted = File.Open("ZipFileToBeExtracted.zip", FileMode.Open);

// Load the Zip file stream into an Archive object
Archive zipArchiveToExtract = new Archive(zipFileToBeExtracted);

// Get the number of files in the archive
int numberOfFilesInArchive = zipArchiveToExtract.Entries.Count;

// Loop through the archive for each file
for (int fileCounter = 0; fileCounter < numberOfFilesInArchive; fileCounter++)
{
    // Get each zip archive entry and extract the file
    ArchiveEntry archiveFileEntry = zipArchiveToExtract.Entries[fileCounter];
    string nameOfFileInZipEntry = archiveFileEntry.Name;
    archiveFileEntry.Extract(nameOfFileInZipEntry);
}

اطلاعات اضافی

  • این قابلیت نه تنها از فایل‌های ZIP، بلکه از فرمت‌های دیگر مانند GZip، RAR و TAR نیز پشتیبانی می‌کند.
  • شما همچنین می‌توانید فایل‌ها را مستقیماً در حافظه استخراج کنید اگر نیاز به پردازش بیشتر داشته باشید.

نتیجه‌گیری

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

 فارسی