RarArchive.RarArchive

RarArchive(string, RarArchiveLoadOptions)

يقوم بتهيئة مثيل جديد لملفRarArchive يمكن استخراج فئة ويؤلف قائمة إدخالات من الأرشيف.

public RarArchive(string path, RarArchiveLoadOptions loadOptions = null)
معامليكتبوصف
pathStringالمسار المؤهل بالكامل أو النسبي لملف الأرشيف.
loadOptionsRarArchiveLoadOptionsخيارات لتحميل الأرشيف الحالي مع.

استثناءات

استثناءحالة
ArgumentNullExceptionpath باطل.
SecurityExceptionالمتصل ليس لديه الإذن المطلوب للوصول.
ArgumentExceptionالpath فارغ أو يحتوي على مسافات بيضاء فقط أو يحتوي على أحرف غير صالحة.
UnauthorizedAccessExceptionالوصول إلى الملفpath مرفوض.
PathTooLongExceptionالمحددpathأو اسم الملف أو كلاهما يتجاوز الحد الأقصى للطول المحدد من قبل النظام. على سبيل المثال ، في الأنظمة الأساسية المستندة إلى Windows ، يجب أن تكون المسارات أقل من 248 حرفًا ، ويجب أن تكون أسماء الملفات أقل من 260 حرفًا.
NotSupportedExceptionملف فيpath يحتوي على نقطتين (:) في منتصف السلسلة.

ملاحظات

لا يقوم المُنشئ هذا بفك ضغط أي إدخال. يرىOpen طريقة فك الضغط.

أمثلة

يستخرج المثال التالي أرشيفًا ، ثم قم بفك ضغط الإدخال الأول إلى ملفMemoryStream.

var extracted = new MemoryStream();
using (RarArchive archive = new RarArchive("data.rar"))
{
    using (var decompressed = archive.Entries[0].Open())
    {
        byte[] b = new byte[8192];
        int bytesRead;
        while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
            extracted.Write(b, 0, bytesRead);
    }
}

أنظر أيضا


RarArchive(Stream, RarArchiveLoadOptions)

يقوم بتهيئة مثيل جديد لملفRarArchive يمكن استخراج فئة ويؤلف قائمة إدخالات من الأرشيف.

public RarArchive(Stream sourceStream, RarArchiveLoadOptions loadOptions = null)
معامليكتبوصف
sourceStreamStreamمصدر الأرشيف.
loadOptionsRarArchiveLoadOptionsخيارات لتحميل الأرشيف الحالي مع.

استثناءات

استثناءحالة
ArgumentExceptionsourceStream لا يمكن البحث عنه.
InvalidDataExceptionتوقيع خاطئ للأرشيف. - أو - الملف ليس أرشيف RAR.
InvalidOperationException

ملاحظات

لا يقوم المُنشئ هذا بفك ضغط أي إدخال. يرىOpen طريقة فك الضغط.

أمثلة

المثال التالي فك وفك ضغط الإدخال الأول إلى ملفMemoryStream.

var fs = File.OpenRead("encrypted.rar");
var extracted = new MemoryStream();
using (RarArchive archive = new RarArchive(fs, new RarArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
    using (var decompressed = archive.Entries[0].Open())
    {
        byte[] b = new byte[8192];
        int bytesRead;
        while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
            extracted.Write(b, 0, bytesRead);
    }
}

أنظر أيضا