چگونه فایلهای RAR را با استفاده از C# استخراج کنیم
در این راهنما، فرایند استخراج فایلهای RAR با استفاده از C# را پوشش خواهیم داد. این آموزش شامل منابع لازم برای راهاندازی محیط توسعه، فهرست کاملی از مراحل که منطق برنامهنویسی را توضیح میدهد، و کد نمونه قابل اجرا برای استخراج فایلهای RAR است.
مزایای استخراج فایلهای RAR
- فشردهسازی:
- فرمت RAR معمولاً نسبتهای فشردهسازی بهتری نسبت به ZIP ارائه میدهد.
- آرشیوهای چندبخشی:
- فایلهای RAR از آرشیوهای چندبخشی پشتیبانی میکنند و اجازه میدهند مجموعههای داده بزرگ به فایلهای کوچکتر تقسیم شوند.
- اطلاعات فایل:
- به شما این امکان را میدهد که قبل از استخراج به جزئیات مختلف (اندازه، تاریخ و غیره) درباره فایلهای موجود در آرشیو دسترسی پیدا کنید.
پیشنیازها: آمادهسازی محیط
- Visual Studio یا هر IDE سازگار با .NET را راهاندازی کنید.
- 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 را بهراحتی به برنامههای خود اضافه کنید. برای بررسیهای بیشتر، به آموزشهای فشردهسازی فایلها یا استخراج فرمتهای آرشیو دیگر نگاهی بیندازید.