ArchiveEntry.Extract

Extract(string, string)

Estrae la voce nel filesystem dal percorso fornito.

public FileInfo Extract(string path, string password = null)
ParametroTipoDescrizione
pathStringIl percorso del file di destinazione. Se il file esiste già, verrà sovrascritto.
passwordStringPassword facoltativa per la decrittazione.

Valore di ritorno

Le informazioni sul file del file composto.

Eccezioni

eccezionecondizione
ArgumentNullExceptionpath è zero.
SecurityExceptionIl chiamante non dispone dell’autorizzazione richiesta per l’accesso.
ArgumentExceptionILpath è vuoto, contiene solo spazi bianchi o contiene caratteri non validi.
UnauthorizedAccessExceptionAccesso all’archiviopath è negato.
PathTooLongExceptionIl specificatopath, nome file o entrambi superano la lunghezza massima definita dal sistema. Ad esempio, su piattaforme basate su Windows, i percorsi devono contenere meno di 248 caratteri ei nomi file devono contenere meno di 260 caratteri.
NotSupportedExceptionFile apath contiene i due punti (:) al centro della stringa.
InvalidDataExceptionVerifica CRC o MAC non riuscita per la voce.

Esempi

Estrarre due voci dell’archivio zip, ciascuna con la propria password

using (FileStream zipFile = File.Open("archive.zip", FileMode.Open))
{
    using (Archive archive = new Archive(zipFile))
    {
        archive.Entries[0].Extract("first.bin", "first_pass");
        archive.Entries[1].Extract("second.bin", "second_pass");
    }
}

Guarda anche


Extract(Stream, string)

Estrae la voce nel flusso fornito.

public void Extract(Stream destination, string password = null)
ParametroTipoDescrizione
destinationStreamFlusso di destinazione. Deve essere scrivibile.
passwordStringPassword facoltativa per la decrittazione.

Eccezioni

eccezionecondizione
InvalidDataExceptionVerifica CRC o MAC non riuscita per la voce.
ArgumentExceptiondestination non supporta la scrittura.

Esempi

Estrarre una voce dell’archivio zip con password.

using (FileStream zipFile = File.Open("archive.zip", FileMode.Open))
{
    using (Archive archive = new Archive(zipFile))
    {
        archive.Entries[0].Extract(httpResponseStream, "p@s$");
    }
}

Guarda anche