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 μέθοδος αποσυμπίεσης.

Παραδείγματα

Το ακόλουθο παράδειγμα εξάγει ένα αρχείο και, στη συνέχεια, αποσυμπιέζει την πρώτη καταχώρηση στο aMemoryStream.

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 μέθοδος αποσυμπίεσης.

Παραδείγματα

Το ακόλουθο παράδειγμα αποκρυπτογραφεί και αποσυμπιέζει την πρώτη καταχώρηση στο aMemoryStream.

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);
    }
}

Δείτε επίσης