RAR یک فرمت فایل آرشیو رایج است که از فشردهسازی بدون تلفات دادهها پشتیبانی میکند. اغلب، مردم RAR را به ZIP ترجیح می دهند، زیرا نرخ فشرده سازی بهتری را فراهم می کند و اندازه آرشیو را کوچکتر نگه می دارد. با این حال، در موارد خاص، ممکن است لازم باشد فایلهای RAR را به آرشیو ZIP تبدیل کنید. برای رسیدن به آن، این مقاله نحوه تبدیل یک فایل RAR به ZIP به صورت برنامهنویسی در سی شارپ را پوشش میدهد.
C# .NET API برای تبدیل RAR به ZIP
Aspose.ZIP for .NET یک API بایگانی قدرتمند است که از ایجاد و دستکاری فرمت های آرشیو محبوب پشتیبانی می کند. ما از این API برای تبدیل فایل های RAR به فرمت ZIP استفاده خواهیم کرد. برای استفاده از API، میتوانید آن را از NuGet نصب کنید یا DLL آن را از بخش دانلودها دانلود کنید.
PM> Install-Package Aspose.Zip
تبدیل فایل RAR به ZIP در سی شارپ
فایل های RAR را می توان با استفاده از Aspose.ZIP برای دات نت طی چند مرحله به فرمت ZIP تبدیل کرد. در ادامه مراحل تبدیل فایل RAR به آرشیو ZIP در سی شارپ آمده است.
یک نمونه از کلاس Archive برای بایگانی ZIP ایجاد کنید.
بایگانی RAR را با استفاده از کلاس RarArchive بارگیری کنید.
با استفاده از مجموعه RarArchive.Entries ورودی های آرشیو RAR را حلقه بزنید.
برای هر ورودی در RAR، مراحل زیر را انجام دهید:
ورودی را به شی MemoryStream با استفاده از روش RarArchive.Entries[int].Extract(MemoryStream) استخراج کنید.
با استفاده از روش Archive.CreateEntry(String, MemoryStream) ورودی را به ZIP اضافه کنید.
در نهایت، آرشیو ZIP حاصل را با استفاده از روش Archive.Save(String) ذخیره کنید.
نمونه کد زیر نحوه تبدیل یک فایل RAR به فرمت ZIP در سی شارپ را نشان می دهد.
// یک نمونه از کلاس Archive برای بایگانی ZIP ایجاد کنید
using (Archive zip = new Archive())
{
// آرشیو RAR را بارگیری کنید
using (RarArchive rar = new RarArchive(@"D:\archvie.rar"))
{
// از طریق ورودی های فایل RAR حلقه بزنید
for (int i = 0; i < rar.Entries.Count; i++)
{
// هر ورودی را از RAR به ZIP کپی کنید
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 حاصل را ذخیره کنید
zip.Save("output.zip");
}
یک مجوز API رایگان دریافت کنید
می توانید برای استفاده از Aspose.ZIP برای دات نت بدون محدودیت ارزیابی، یک مجوز موقت رایگان دریافت کنید.
نتیجه
در این مقاله با نحوه تبدیل آرشیو RAR به فرمت ZIP به صورت برنامه نویسی در سی شارپ آشنا شدید. راهنمای گام به گام و نمونه کد، تبدیل یک فایل RAR به آرشیو ZIP را طی چند مرحله نشان داده است. می توانید اسناد Aspose.ZIP را برای دات نت بخوانید تا سایر ویژگی ها را بررسی کنید. علاوه بر این، می توانید سوالات خود را از طریق [فروم 15 ما با ما در میان بگذارید.