RAR به ZIP C#

تبدیل فایل‌های RAR به فرمت ZIP یکی از الزامات رایج هنگام کار با آرشیوهای فشرده است. ZIP به طور گسترده در پلتفرم‌های مختلف پشتیبانی می‌شود و آن را به یک انتخاب همه‌کاره‌تر برای اشتراک‌گذاری و ذخیره‌سازی تبدیل می‌کند. در این پست وبلاگ، راه حلی را با استفاده از سی شارپ برای تبدیل آرشیوهای RAR به فرمت ZIP ارائه خواهیم داد.

چرا RAR را به ZIP تبدیل کنیم؟

دلایل مختلفی برای تبدیل فایل های RAR به ZIP وجود دارد:

  • سازگاری با پلتفرم های مختلف: ZIP در سیستم ها و پلتفرم های بیشتری در مقایسه با RAR پشتیبانی می شود.

  • پشتیبانی بومی: بسیاری از سیستم عامل ها، مانند ویندوز و macOS، می توانند فایل های ZIP را بدون نیاز به نرم افزار شخص ثالث استخراج کنند.

  • کارایی فشرده سازی: فشرده سازی ZIP کارآمد است و تعادلی بین اندازه و سرعت فایل ارائه می دهد.

اکنون به سراغ نصب، راهنمای گام به گام و مثال کد می رویم.

مبدل آرشیو RAR به ZIP - پیکربندی C# API

با نصب Conholdate.Total for .NET با دستور نصب زیر در NuGet Package Manager Console می‌توانید فرمت‌های بایگانی فشرده را در انتهای خود تبدیل کنید:

PM> NuGet\Install-Package Conholdate.Total

تبدیل RAR به ZIP در سی شارپ

برای رسیدن به این هدف، از کتابخانه Aspose.Zip که بخشی از مجموعه Conholdate.Total برای دات نت است استفاده خواهیم کرد. در زیر نحوه تبدیل یک فایل RAR به یک فایل ZIP به صورت گام به گام شرح داده شده است:

  • راه اندازی یک بایگانی ZIP: ما با ایجاد یک شی Aspose.Zip.Archive جدید که فایل ZIP را نشان می دهد شروع می کنیم.
  • باز کردن و استخراج فایل RAR: فایل RAR را با استفاده از Aspose.Zip.Rar.RarArchive بارگیری کنید و هر ورودی را استخراج کنید. فایل ها و دایرکتوری ها در بایگانی RAR به طور جداگانه مدیریت می شوند.
  • افزودن ورودی به آرشیو ZIP: برای هر ورودی (فایل یا دایرکتوری) در فایل RAR، آن را به بایگانی ZIP اضافه می کنیم. فایل ها به عنوان ورودی های ZIP نوشته می شوند، در حالی که دایرکتوری ها به عنوان ورودی های خالی ایجاد می شوند.
  • ذخیره فایل ZIP: پس از اضافه شدن همه ورودی ها، آرشیو ZIP را در محل خروجی مورد نظر ذخیره کنید.

قطعه کد زیر نحوه تبدیل RAR به ZIP در سی شارپ را نشان می دهد:

using (Aspose.Zip.Archive zip = new Aspose.Zip.Archive())
{
    using (Aspose.Zip.Rar.RarArchive rar = new Aspose.Zip.Rar.RarArchive("archvie.rar"))
    {
       for (int i = 0; i < rar.Entries.Count; i++)
        {
            if (!rar.Entries[i].IsDirectory)
            {
                var ms = new MemoryStream();
                rar.Entries[i].Extract(ms);
                ms.Seek(0, SeekOrigin.Begin);
                zip.CreateEntry(rar.Entries[i].Name, ms);
            }
            else
                zip.CreateEntry(rar.Entries[i].Name + "/", Stream.Null);
        }
    }

    zip.Save("output.zip");
}

مجوز ارزیابی رایگان

شما می توانید یک [مجوز موقت رایگان] را دریافت کنید تا این و بسیاری از ویژگی های دیگر را برای دستکاری یا تبدیل فایل های آرشیو فشرده در محیط خود امتحان کنید.

نتیجه گیری

تبدیل یک فایل RAR به یک فایل ZIP در سی شارپ فقط به چند روش فراخوانی نیاز دارد بدون اینکه نگران جزئیات جزئی یا ساختار فرمت های فایل فشرده باشید. با پیروی از این روش، می توانید به راحتی فایل ها را از یک آرشیو RAR استخراج کرده و آنها را در قالب ZIP فشرده کنید. این تضمین می کند که فایل های شما در پلتفرم های مختلف سازگارتر و در دسترس تر هستند. در حالی که، اگر می خواهید در مورد هر یک از سؤالات خود بحث کنید، لطفاً برای ما در [فروم 5 بنویسید.

سوالات متداول

آیا ساختار دایرکتوری در طول تبدیل حفظ می شود؟

بله، کد هنگام افزودن ورودی‌ها به بایگانی ZIP، ساختار دایرکتوری را از فایل RAR حفظ می‌کند.

آیا برای استخراج فایل های ZIP به نرم افزار شخص ثالث نیاز دارم؟

خیر، فایل های ZIP را می توان به صورت بومی در اکثر سیستم عامل ها از جمله ویندوز و macOS استخراج کرد.

آیا می توانم از فایل ZIP محافظت کنم؟

بله، Aspose.ZIP امکان رمزگذاری و محافظت از رمز عبور را هنگام ایجاد آرشیو ZIP فراهم می کند.

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