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

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

در این راهنما، فرایند استخراج فایل‌های RAR با استفاده از C# را پوشش خواهیم داد. این آموزش شامل منابع لازم برای راه‌اندازی محیط توسعه، فهرست کاملی از مراحل که منطق برنامه‌نویسی را توضیح می‌دهد، و کد نمونه قابل اجرا برای استخراج فایل‌های RAR است.

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

  1. فشرده‌سازی:
    • فرمت RAR معمولاً نسبت‌های فشرده‌سازی بهتری نسبت به ZIP ارائه می‌دهد.
  2. آرشیوهای چندبخشی:
    • فایل‌های RAR از آرشیوهای چندبخشی پشتیبانی می‌کنند و اجازه می‌دهند مجموعه‌های داده بزرگ به فایل‌های کوچکتر تقسیم شوند.
  3. اطلاعات فایل:
    • به شما این امکان را می‌دهد که قبل از استخراج به جزئیات مختلف (اندازه، تاریخ و غیره) درباره فایل‌های موجود در آرشیو دسترسی پیدا کنید.

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

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

راهنمای گام به گام برای استخراج فایل‌های RAR

گام 1: نصب Aspose.ZIP

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

Install-Package Aspose.ZIP

گام 2: بارگذاری فایل RAR

فایل RAR منبع را با استفاده از کلاس RarArchive بارگذاری کنید.

using (RarArchive rarArchive = new RarArchive("Sample.rar"))
{
    // مراحل پردازش در اینجا دنبال خواهد شد
}

گام 3: تجزیه ورودی‌ها

از طریق تمامی ورودی‌ها در آرشیو RAR حلقه بزنید.

foreach (var entry in rarArchive.Entries)
{
    // مراحل پردازش بیشتر در اینجا دنبال خواهد شد
}

گام 4: ایجاد یک FileStream

برای هر ورودی یک FileStream ایجاد کنید تا داده‌های استخراج‌شده را بنویسید.

var file = File.Create(entry.Name);

گام 5: خواندن بایت‌ها از ورودی

تمامی بایت‌ها را از ورودی فعلی بخوانید و آنها را به FileStream ذخیره کنید.

using (var fileEntry = entry.Open())
{
    byte[] data = new byte[1024];
    int bytesCount;
    while ((bytesCount = fileEntry.Read(data, 0, data.Length)) > 0)
    {
        file.Write(data, 0, bytesCount);
    }
}

گام 6: ذخیره فایل استخراج‌شده

اطمینان حاصل کنید که FileStream به‌درستی ذخیره و بسته شده است.

file.Close();
file.Dispose();

مثال کد کامل برای استخراج فایل‌های RAR

در اینجا یک مثال کامل وجود دارد که نحوه استخراج فایل‌های RAR در C# را نشان می‌دهد:

// بارگذاری فایل RAR
using (RarArchive rarArchive = new RarArchive("Sample.rar"))
{
    // تجزیه تمامی ورودی‌ها در آرشیو
    foreach (var entry in rarArchive.Entries)
    {
        // ایجاد یک فایل برای هر ورودی
        var file = File.Create(entry.Name);
        
        // باز کردن ورودی آرشیو و ذخیره داده‌ها در فایل
        using (var fileEntry = entry.Open())
        {
            byte[] data = new byte[1024];
            int bytesCount;
            while ((bytesCount = fileEntry.Read(data, 0, data.Length)) > 0)
            {
                file.Write(data, 0, bytesCount);
            }
        }

        // بستن جریان فایل پس از ذخیره
        file.Close();
    }
}

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

  • می‌توانید فایل‌ها را بر اساس معیارهای مختلفی مانند اندازه یا تاریخ قبل از استخراج فیلتر کنید.
  • کتابخانه Aspose.ZIP از فرمت‌های آرشیو مختلف پشتیبانی می‌کند و امکان دستکاری فایل‌های چندگانه را فراهم می‌کند.

نتیجه‌گیری

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

 فارسی