Condividi tramite


ZipFileExtensions.ExtractToDirectory Metodo

Definizione

Overload

ExtractToDirectory(ZipArchive, String)

Estrae tutti i file nell'archivio ZIP in una directory del file system.

ExtractToDirectory(ZipArchive, String, Boolean)

Estrae tutti i file nell'archivio in una directory nel file system.

ExtractToDirectory(ZipArchive, String)

Origine:
ZipFileExtensions.ZipArchive.Extract.cs
Origine:
ZipFileExtensions.ZipArchive.Extract.cs
Origine:
ZipFileExtensions.ZipArchive.Extract.cs

Estrae tutti i file nell'archivio ZIP in una directory del file system.

public:
[System::Runtime::CompilerServices::Extension]
 static void ExtractToDirectory(System::IO::Compression::ZipArchive ^ source, System::String ^ destinationDirectoryName);
public static void ExtractToDirectory (this System.IO.Compression.ZipArchive source, string destinationDirectoryName);
static member ExtractToDirectory : System.IO.Compression.ZipArchive * string -> unit
<Extension()>
Public Sub ExtractToDirectory (source As ZipArchive, destinationDirectoryName As String)

Parametri

source
ZipArchive

Archivio ZIP da cui estrarre i file.

destinationDirectoryName
String

Percorso della directory in cui inserire i file estratti. È possibile specificare un percorso relativo o assoluto. Un percorso relativo è interpretato rispetto alla directory di lavoro corrente.

Eccezioni

destinationDirectoryName è Empty, contiene solo spazi vuoti oppure contiene almeno un carattere non valido.

destinationDirectoryName è null.

La lunghezza del percorso specificata supera la lunghezza massima definita dal sistema.

Il percorso specificato non è valido, ad esempio si trova in un'unità non mappata.

Il nome di una voce nell'archivio è Empty, contiene solo spazi vuoti o contiene almeno un carattere non valido.

-oppure-

L'estrazione di una voce dall'archivio crea un file esterno alla directory specificata da destinationDirectoryName. (Ad esempio, si potrebbe verificare se il nome dell'elemento contiene accessori della directory padre).

-oppure-

Due o più voci nell'archivio hanno lo stesso nome.

Il chiamante non ha l'autorizzazione richiesta per scrivere nella directory di destinazione.

destinationDirectoryName o contiene un formato non valido.

È impossibile trovare una voce dell'archivio o la voce è danneggiata.

-oppure-

Una voce dell'archivio è stata compressa con un metodo di compressione non supportato.

Esempio

Nell'esempio seguente viene illustrato come creare una nuova voce in un archivio zip da un file esistente ed estrarre l'archivio in una nuova directory.

using System;
using System.IO;
using System.IO.Compression;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string zipPath = @"c:\users\exampleuser\start.zip";
            string extractPath = @"c:\users\exampleuser\extract";
            string newFile = @"c:\users\exampleuser\NewFile.txt";

            using (ZipArchive archive = ZipFile.Open(zipPath, ZipArchiveMode.Update))
            {
                archive.CreateEntryFromFile(newFile, "NewEntry.txt");
                archive.ExtractToDirectory(extractPath);
            }
        }
    }
}
Imports System.IO
Imports System.IO.Compression

Module Module1

    Sub Main()
        Dim zipPath As String = "c:\users\exampleuser\end.zip"
        Dim extractPath As String = "c:\users\exampleuser\extract"
        Dim newFile As String = "c:\users\exampleuser\NewFile.txt"

        Using archive As ZipArchive = ZipFile.Open(zipPath, ZipArchiveMode.Update)
            archive.CreateEntryFromFile(newFile, "NewEntry.txt", CompressionLevel.Fastest)
            archive.ExtractToDirectory(extractPath)
        End Using
    End Sub

End Module

Commenti

Questo metodo crea la directory specificata da destinationDirectoryName. Il metodo crea anche sottodirectory che riflettono la gerarchia nell'archivio zip. Se si verifica un errore durante l'estrazione, l'archivio rimane parzialmente estratto. Ogni file estratto ha lo stesso percorso relativo della directory specificata dalla destinationDirectoryName relativa voce di origine deve corrispondere alla radice dell'archivio.

Si applica a

ExtractToDirectory(ZipArchive, String, Boolean)

Origine:
ZipFileExtensions.ZipArchive.Extract.cs
Origine:
ZipFileExtensions.ZipArchive.Extract.cs
Origine:
ZipFileExtensions.ZipArchive.Extract.cs

Estrae tutti i file nell'archivio in una directory nel file system.

public:
[System::Runtime::CompilerServices::Extension]
 static void ExtractToDirectory(System::IO::Compression::ZipArchive ^ source, System::String ^ destinationDirectoryName, bool overwriteFiles);
public static void ExtractToDirectory (this System.IO.Compression.ZipArchive source, string destinationDirectoryName, bool overwriteFiles);
static member ExtractToDirectory : System.IO.Compression.ZipArchive * string * bool -> unit
<Extension()>
Public Sub ExtractToDirectory (source As ZipArchive, destinationDirectoryName As String, overwriteFiles As Boolean)

Parametri

source
ZipArchive

ZipArchive da estrarre.

destinationDirectoryName
String

Percorso della directory di destinazione nel file system. Il percorso può essere relativo o assoluto. Un percorso relativo è interpretato rispetto alla directory di lavoro corrente.

overwriteFiles
Boolean

true per sovrascrivere i file esistenti; false Altrimenti.

Eccezioni

destinationArchiveFileName è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi definiti da InvalidPathChars.

destinationArchiveFileName è null.

Il percorso specificato, il nome file o entrambi superano la lunghezza massima definita dal sistema.

Il percorso specificato non è valido, ad esempio si trova in un'unità non mappata.

Il nome di un ZipArchiveEntry è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi definiti da InvalidPathChars.

-oppure-

L'estrazione di ZipArchiveEntry potrebbe avere generato un file di destinazione esterno a destinationArchiveFileName, ad esempio se il nome della voce contiene funzioni di accesso della directory padre.

-oppure-

Un ZipArchiveEntry ha lo stesso nome di una voce già estratta dallo stesso archivio.

Il chiamante non dispone dell'autorizzazione richiesta.

Il formato di destinationArchiveFileName non è valido.

Impossibile trovare un ZipArchiveEntry o la voce trovata è danneggiata.

-oppure-

Un ZipArchiveEntry è stato compresso con un metodo di compressione non supportato.

Commenti

La directory specificata può già esistere. Questo metodo crea la directory specificata e tutte le sottodirectory, se necessario.

Se si verifica un errore durante l'estrazione dell'archivio, l'archivio rimarrà parzialmente estratto.

Ogni voce viene estratta in modo che il file estratto abbia lo stesso percorso relativo della destinationDirectoryName voce deve essere alla radice dell'archivio.

Se un file da archiviare ha un'ora di ultima modifica non valida, viene usata la prima data e l'ora rappresentabili nel formato timestamp Zip (mezzanotte il 1° gennaio 1980).

Si applica a