ArchiveEntry.Extract

Extract(string, string)

Extrae la entrada al sistema de archivos por la ruta proporcionada.

public FileInfo Extract(string path, string password = null)
ParámetroEscribeDescripción
pathStringLa ruta al archivo de destino. Si el archivo ya existe, se sobrescribirá.
passwordStringContraseña opcional para el descifrado.

Valor_devuelto

La información del archivo del archivo compuesto.

Excepciones

excepcióncondición
ArgumentNullExceptionpath es nulo.
SecurityExceptionLa persona que llama no tiene el permiso necesario para acceder.
ArgumentExceptionElpath está vacío, solo contiene espacios en blanco o contiene caracteres no válidos.
UnauthorizedAccessExceptionAcceso al archivopath es denegado.
PathTooLongExceptionEl especificadopath, nombre de archivo, o ambos superan la longitud máxima definida por el sistema. Por ejemplo, en plataformas basadas en Windows, las rutas deben tener menos de 248 caracteres y los nombres de archivo deben tener menos de 260 caracteres.
NotSupportedExceptionArchivo enpath contiene dos puntos (:) en medio de la cadena.
InvalidDataExceptionLa verificación de CRC o MAC falló para la entrada.

Ejemplos

Extraiga dos entradas del archivo zip, cada una con su propia contraseña

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

Ver también


Extract(Stream, string)

Extrae la entrada al flujo proporcionado.

public void Extract(Stream destination, string password = null)
ParámetroEscribeDescripción
destinationStreamFlujo de destino. Debe ser escribible.
passwordStringContraseña opcional para el descifrado.

Excepciones

excepcióncondición
InvalidDataExceptionLa verificación de CRC o MAC falló para la entrada.
ArgumentExceptiondestination no admite la escritura.

Ejemplos

Extraiga una entrada del archivo zip con contraseña.

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

Ver también