Condividi tramite


ZipFile.ExtractToDirectory Metodo

Definizione

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

Overload

Nome Descrizione
ExtractToDirectory(String, String, Encoding, Boolean)

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

ExtractToDirectory(Stream, String, Encoding, Boolean)

Estrae tutti i file dall'archivio ZIP archiviato nel flusso specificato e li inserisce nella directory di destinazione specificata nel file system, usa la codifica dei caratteri specificata per i nomi e i commenti delle voci e, facoltativamente, consente di scegliere se i file nella directory di destinazione devono essere sovrascritti.

ExtractToDirectory(String, String, Encoding)

Estrae tutti i file nell'archivio ZIP specificato in una directory nel file system e usa la codifica dei caratteri specificata per i nomi e i commenti delle voci.

ExtractToDirectory(String, String, Boolean)

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

ExtractToDirectory(Stream, String, Boolean)

Estrae tutti i file dall'archivio ZIP archiviato nel flusso specificato e li inserisce nella directory di destinazione specificata nel file system e, facoltativamente, consente di scegliere se i file nella directory di destinazione devono essere sovrascritti.

ExtractToDirectory(String, String)

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

ExtractToDirectory(Stream, String)

Estrae tutti i file dall'archivio ZIP archiviato nel flusso specificato e li inserisce nella directory di destinazione specificata nel file system.

ExtractToDirectory(Stream, String, Encoding)

Estrae tutti i file dall'archivio ZIP archiviato nel flusso specificato e li inserisce nella directory di destinazione specificata nel file system e usa la codifica dei caratteri specificata per i nomi e i commenti delle voci.

ExtractToDirectory(String, String, Encoding, Boolean)

Origine:
ZipFile.Extract.cs
Origine:
ZipFile.Extract.cs
Origine:
ZipFile.Extract.cs
Origine:
ZipFile.Extract.cs
Origine:
ZipFile.Extract.cs

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

public:
 static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding, bool overwriteFiles);
public static void ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, bool overwriteFiles);
public static void ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding entryNameEncoding, bool overwriteFiles);
static member ExtractToDirectory : string * string * System.Text.Encoding * bool -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String, entryNameEncoding As Encoding, overwriteFiles As Boolean)

Parametri

sourceArchiveFileName
String

Percorso del file system nell'archivio da estrarre.

destinationDirectoryName
String

Percorso della directory di destinazione nel file system.

entryNameEncoding
Encoding

Codifica da utilizzare per la lettura dei nomi e dei commenti delle voci in questo ZipArchiveoggetto .

overwriteFiles
Boolean

true per sovrascrivere i file; false Altrimenti.

Eccezioni

sourceArchiveFileName o destinationDirectoryName è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi, come definito da InvalidPathChars.

oppure

entryNameEncoding è impostato su una codifica Unicode diversa da UTF-8.

sourceArchiveFileName o destinationDirectoryName è null.

sourceArchiveFileName oppure destinationDirectoryName specifica un percorso, un nome di file o entrambi che superano la lunghezza massima definita dal sistema.

Il percorso specificato da sourceArchiveFileName o destinationDirectoryName non è valido( ad esempio, si trova in un'unità non mappata).

overwriteFiles è false e una voce di archivio da estrarre ha lo stesso nome di un file già esistente in destinationDirectoryName.

oppure

Si è verificato un errore di I/O.

oppure

Il nome di un oggetto ZipArchiveEntry è di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi, come definito da InvalidPathChars.

oppure

L'estrazione di un ZipArchiveEntry elemento comporta una destinazione file esterna alla directory di destinazione, ad esempio a causa delle funzioni di accesso alla directory padre.

oppure

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

Il chiamante non dispone dell'autorizzazione richiesta.

sourceArchiveFileName o destinationDirectoryName è in un formato non valido.

sourceArchiveFileName non è stato trovato.

L'archivio specificato da sourceArchiveFileName non è un oggetto valido ZipArchive.

oppure

Una voce di archivio non è stata trovata o è danneggiata.

oppure

Una voce di archivio è stata compressa usando un metodo di compressione non supportato.

Commenti

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

Ogni voce verrà estratta in modo che il file estratto abbia lo stesso percorso relativo di come destinationDirectoryName la voce deve essere archiviata.

I sourceArchiveFileName parametri e destinationDirectoryName accettano percorsi relativi e assoluti. Un percorso relativo viene interpretato come relativo alla directory di lavoro corrente.

Se una voce nell'archivio ZIP è un collegamento simbolico, viene estratta come cartella normale perché le informazioni sul collegamento simbolico non vengono mantenute nel formato ZIP. Se destinationDirectoryName o una delle directory padre è una giunzione preesistente o un collegamento simbolico, viene seguito il collegamento e l'estrazione scrive nella cartella di destinazione finale.

Se un file da archiviare ha un'ora dell'ultima modifica non valida, verrà utilizzata la prima data e l'ora rappresentabili nel formato zip timestamp (mezzanotte il 1° gennaio 1980).

Avviso

Questo metodo non limita le dimensioni totali non compresse o il numero di voci estratte dall'archivio. Durante l'elaborazione degli archivi da origini non attendibili, eseguire manualmente l'iterazione delle voci usando ZipArchivee verificare che le dimensioni totali non compresse e il numero di voci siano entro limiti accettabili per lo scenario.

Si applica a

ExtractToDirectory(Stream, String, Encoding, Boolean)

Origine:
ZipFile.Extract.cs
Origine:
ZipFile.Extract.cs
Origine:
ZipFile.Extract.cs
Origine:
ZipFile.Extract.cs

Estrae tutti i file dall'archivio ZIP archiviato nel flusso specificato e li inserisce nella directory di destinazione specificata nel file system, usa la codifica dei caratteri specificata per i nomi e i commenti delle voci e, facoltativamente, consente di scegliere se i file nella directory di destinazione devono essere sovrascritti.

public:
 static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding, bool overwriteFiles);
public static void ExtractToDirectory(System.IO.Stream source, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, bool overwriteFiles);
static member ExtractToDirectory : System.IO.Stream * string * System.Text.Encoding * bool -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String, entryNameEncoding As Encoding, overwriteFiles As Boolean)

Parametri

source
Stream

Flusso da cui estrarre l'archivio ZIP.

destinationDirectoryName
String

Percorso della directory in cui inserire i file estratti, specificato come percorso relativo o assoluto. Un percorso relativo viene interpretato come relativo alla directory di lavoro corrente.

entryNameEncoding
Encoding

Codifica da utilizzare per la lettura o la scrittura di nomi e commenti di voci in questo archivio. Specificare un valore per questo parametro solo quando è necessaria una codifica per l'interoperabilità con gli strumenti e le librerie di archivio ZIP che non supportano la codifica UTF-8 per i nomi o i commenti delle voci.

overwriteFiles
Boolean

true per sovrascrivere i file; false Altrimenti.

Eccezioni

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

oppure

entryNameEncoding è impostato su una codifica Unicode diversa da UTF-8.

destinationDirectoryName o source è null.

Il percorso specificato in destinationDirectoryName 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 di archivio crea un file esterno alla directory specificata da destinationDirectoryName. Ad esempio, questo può verificarsi se il nome della voce contiene funzioni di accesso alla directory padre.

oppure

overwriteFiles è false e una voce di archivio da estrarre ha lo stesso nome di una voce che è già stata estratta o che esiste in destinationDirectoryName.

Il chiamante non dispone dell'autorizzazione necessaria per accedere all'archivio o alla directory di destinazione.

destinationDirectoryName contiene un formato non valido.

L'archivio contenuto nel source flusso non è un archivio ZIP valido.

oppure

Una voce di archivio non è stata trovata o è danneggiata.

oppure

Una voce di archivio è stata compressa usando un metodo di compressione non supportato.

Commenti

Questo metodo crea la directory specificata e tutte le sottodirectory. La directory di destinazione non può esistere già. Le eccezioni correlate alla convalida dei percorsi nel destinationDirectoryName file o nell'archivio ZIP contenuto nei parametri vengono generate prima dell'estrazione source . In caso contrario, se si verifica un errore durante l'estrazione, l'archivio rimane parzialmente estratto. Ogni file estratto ha lo stesso percorso relativo della directory specificata da destinationDirectoryName come voce di origine deve essere alla radice dell'archivio.

Se una voce nell'archivio ZIP è un collegamento simbolico, viene estratta come cartella normale perché le informazioni sul collegamento simbolico non vengono mantenute nel formato ZIP. Se destinationDirectoryName o una delle directory padre è una giunzione preesistente o un collegamento simbolico, viene seguito il collegamento e l'estrazione scrive nella cartella di destinazione finale.

Se un file da archiviare ha un'ora dell'ultima modifica non valida, verrà utilizzata la prima data e l'ora rappresentabili nel formato zip timestamp (mezzanotte il 1° gennaio 1980).

Avviso

Questo metodo non limita le dimensioni totali non compresse o il numero di voci estratte dall'archivio. Durante l'elaborazione degli archivi da origini non attendibili, eseguire manualmente l'iterazione delle voci usando ZipArchivee verificare che le dimensioni totali non compresse e il numero di voci siano entro limiti accettabili per lo scenario.

Si applica a

ExtractToDirectory(String, String, Encoding)

Origine:
ZipFile.Extract.cs
Origine:
ZipFile.Extract.cs
Origine:
ZipFile.Extract.cs
Origine:
ZipFile.Extract.cs
Origine:
ZipFile.Extract.cs

Estrae tutti i file nell'archivio ZIP specificato in una directory nel file system e usa la codifica dei caratteri specificata per i nomi e i commenti delle voci.

public:
 static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding);
public static void ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding entryNameEncoding);
public static void ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding);
static member ExtractToDirectory : string * string * System.Text.Encoding -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String, entryNameEncoding As Encoding)

Parametri

sourceArchiveFileName
String

Percorso dell'archivio da estrarre.

destinationDirectoryName
String

Percorso della directory in cui inserire i file estratti, specificato come percorso relativo o assoluto. Un percorso relativo viene interpretato come relativo alla directory di lavoro corrente.

entryNameEncoding
Encoding

Codifica da utilizzare per la lettura o la scrittura di nomi e commenti di voci in questo archivio. Specificare un valore per questo parametro solo quando è necessaria una codifica per l'interoperabilità con gli strumenti e le librerie di archivio ZIP che non supportano la codifica UTF-8 per i nomi o i commenti delle voci.

Eccezioni

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

oppure

entryNameEncoding è impostato su una codifica Unicode diversa da UTF-8.

destinationDirectoryName o sourceArchiveFileName è null.

Il percorso specificato in destinationDirectoryName o sourceArchiveFileName 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 di archivio crea un file esterno alla directory specificata da destinationDirectoryName. Ad esempio, questo può verificarsi se il nome della voce contiene funzioni di accesso alla directory padre.

oppure

Una voce di archivio da estrarre ha lo stesso nome di una voce che è già stata estratta o che esiste in destinationDirectoryName.

Il chiamante non dispone dell'autorizzazione necessaria per accedere all'archivio o alla directory di destinazione.

destinationDirectoryName o sourceArchiveFileName contiene un formato non valido.

sourceArchiveFileName non è stato trovato.

L'archivio specificato da sourceArchiveFileName non è un archivio ZIP valido.

oppure

Una voce di archivio non è stata trovata o è danneggiata.

oppure

Una voce di archivio è stata compressa usando un metodo di compressione non supportato.

Commenti

Questo metodo crea la directory specificata e tutte le sottodirectory, se necessario. Le eccezioni correlate alla convalida dei percorsi nei destinationDirectoryName parametri o sourceArchiveFileName vengono generate prima dell'estrazione. In caso contrario, se si verifica un errore durante l'estrazione, l'archivio rimane parzialmente estratto. Ogni file estratto ha lo stesso percorso relativo della directory specificata da destinationDirectoryName come voce di origine deve essere alla radice dell'archivio.

Se una voce nell'archivio ZIP è un collegamento simbolico, viene estratta come cartella normale perché le informazioni sul collegamento simbolico non vengono mantenute nel formato ZIP. Se destinationDirectoryName o una delle directory padre è una giunzione preesistente o un collegamento simbolico, viene seguito il collegamento e l'estrazione scrive nella cartella di destinazione finale.

Se entryNameEncoding è impostato su un valore diverso da null, i nomi delle voci e i commenti vengono decodificati in base alle regole seguenti:

  • Per le voci in cui il flag di codifica della lingua (nel flag di bit generico dell'intestazione del file locale) non è impostato, i nomi delle voci e i commenti vengono decodificati usando la codifica specificata.
  • Per le voci in cui è impostato il flag di codifica della lingua, i nomi delle voci e i commenti vengono decodificati tramite UTF-8.

Se entryNameEncoding è impostato su null, i nomi delle voci e i commenti vengono decodificati in base alle regole seguenti:

  • Per le voci in cui il flag di codifica della lingua (nel flag di bit generico dell'intestazione del file locale) non è impostato, i nomi delle voci e i commenti vengono decodificati usando la tabella codici predefinita del sistema corrente.
  • Per le voci in cui è impostato il flag di codifica della lingua, i nomi delle voci e i commenti vengono decodificati tramite UTF-8.

Avviso

Questo metodo non limita le dimensioni totali non compresse o il numero di voci estratte dall'archivio. Durante l'elaborazione degli archivi da origini non attendibili, eseguire manualmente l'iterazione delle voci usando ZipArchivee verificare che le dimensioni totali non compresse e il numero di voci siano entro limiti accettabili per lo scenario.

Si applica a

ExtractToDirectory(String, String, Boolean)

Origine:
ZipFile.Extract.cs
Origine:
ZipFile.Extract.cs
Origine:
ZipFile.Extract.cs
Origine:
ZipFile.Extract.cs
Origine:
ZipFile.Extract.cs

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

public:
 static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName, bool overwriteFiles);
public static void ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName, bool overwriteFiles);
static member ExtractToDirectory : string * string * bool -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String, overwriteFiles As Boolean)

Parametri

sourceArchiveFileName
String

Percorso del file system nell'archivio da estrarre.

destinationDirectoryName
String

Percorso della directory di destinazione nel file system.

overwriteFiles
Boolean

true per sovrascrivere i file; false Altrimenti.

Eccezioni

sourceArchiveFileName o destinationDirectoryName è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi, come definito da InvalidPathChars.

sourceArchiveFileName o destinationDirectoryName è null.

sourceArchiveFileName oppure destinationDirectoryName specifica un percorso, un nome di file o entrambi che superano la lunghezza massima definita dal sistema.

Il percorso specificato da sourceArchiveFileName o destinationDirectoryName non è valido( ad esempio, si trova in un'unità non mappata).

overwriteFiles è false e destinationDirectoryName contiene già un file con lo stesso nome di un file che viene estratto.

oppure

Si è verificato un errore di I/O.

oppure

Il nome di un oggetto ZipArchiveEntry è di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi, come definito da InvalidPathChars.

oppure

L'estrazione di un ZipArchiveEntry elemento comporta una destinazione file esterna alla directory di destinazione, ad esempio a causa delle funzioni di accesso alla directory padre.

oppure

Un ZipArchiveEntry oggetto ha lo stesso nome di una voce dello stesso archivio già estratto.

Il chiamante non dispone dell'autorizzazione richiesta.

sourceArchiveFileName o destinationDirectoryName è in un formato non valido.

sourceArchiveFileName non è stato trovato.

L'archivio specificato da sourceArchiveFileName non è un oggetto valido ZipArchive.

oppure

Non ZipArchiveEntry è stato trovato un oggetto o è danneggiato.

oppure

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

Commenti

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

Ogni voce verrà estratta in modo che il file estratto abbia lo stesso percorso relativo di come destinationDirectoryName la voce deve essere archiviata.

I sourceArchiveFileName parametri e destinationDirectoryName accettano percorsi relativi e assoluti. Un percorso relativo viene interpretato come relativo alla directory di lavoro corrente.

Se una voce nell'archivio ZIP è un collegamento simbolico, viene estratta come cartella normale perché le informazioni sul collegamento simbolico non vengono mantenute nel formato ZIP. Se destinationDirectoryName o una delle directory padre è una giunzione preesistente o un collegamento simbolico, viene seguito il collegamento e l'estrazione scrive nella cartella di destinazione finale.

Se un file da archiviare ha un'ora dell'ultima modifica non valida, verrà utilizzata la prima data e l'ora rappresentabili nel formato zip timestamp (mezzanotte il 1° gennaio 1980).

Avviso

Questo metodo non limita le dimensioni totali non compresse o il numero di voci estratte dall'archivio. Durante l'elaborazione degli archivi da origini non attendibili, eseguire manualmente l'iterazione delle voci usando ZipArchivee verificare che le dimensioni totali non compresse e il numero di voci siano entro limiti accettabili per lo scenario.

Si applica a

ExtractToDirectory(Stream, String, Boolean)

Origine:
ZipFile.Extract.cs
Origine:
ZipFile.Extract.cs
Origine:
ZipFile.Extract.cs
Origine:
ZipFile.Extract.cs

Estrae tutti i file dall'archivio ZIP archiviato nel flusso specificato e li inserisce nella directory di destinazione specificata nel file system e, facoltativamente, consente di scegliere se i file nella directory di destinazione devono essere sovrascritti.

public:
 static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName, bool overwriteFiles);
public static void ExtractToDirectory(System.IO.Stream source, string destinationDirectoryName, bool overwriteFiles);
static member ExtractToDirectory : System.IO.Stream * string * bool -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String, overwriteFiles As Boolean)

Parametri

source
Stream

Flusso da cui estrarre l'archivio ZIP.

destinationDirectoryName
String

Percorso della directory in cui inserire i file estratti, specificato come percorso relativo o assoluto. Un percorso relativo viene interpretato come relativo alla directory di lavoro corrente.

overwriteFiles
Boolean

true per sovrascrivere i file; false Altrimenti.

Eccezioni

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

destinationDirectoryName o source è null.

Il percorso specificato in destinationDirectoryName 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 di archivio crea un file esterno alla directory specificata da destinationDirectoryName. Ad esempio, questo può verificarsi se il nome della voce contiene funzioni di accesso alla directory padre.

oppure

overwriteFiles è false e una voce di archivio da estrarre ha lo stesso nome di una voce che è già stata estratta o che esiste in destinationDirectoryName.

Il chiamante non dispone dell'autorizzazione necessaria per accedere all'archivio o alla directory di destinazione.

destinationDirectoryName contiene un formato non valido.

L'archivio contenuto nel source flusso non è un archivio ZIP valido.

oppure

Una voce di archivio non è stata trovata o è danneggiata.

oppure

Una voce di archivio è stata compressa usando un metodo di compressione non supportato.

Commenti

Questo metodo crea la directory specificata e tutte le sottodirectory. La directory di destinazione non può esistere già. Le eccezioni correlate alla convalida dei percorsi nel destinationDirectoryName file o nell'archivio ZIP contenuto nei parametri vengono generate prima dell'estrazione source . In caso contrario, se si verifica un errore durante l'estrazione, l'archivio rimane parzialmente estratto. Ogni file estratto ha lo stesso percorso relativo della directory specificata da destinationDirectoryName come voce di origine deve essere alla radice dell'archivio.

Se una voce nell'archivio ZIP è un collegamento simbolico, viene estratta come cartella normale perché le informazioni sul collegamento simbolico non vengono mantenute nel formato ZIP. Se destinationDirectoryName o una delle directory padre è una giunzione preesistente o un collegamento simbolico, viene seguito il collegamento e l'estrazione scrive nella cartella di destinazione finale.

Se un file da archiviare ha un'ora dell'ultima modifica non valida, verrà utilizzata la prima data e l'ora rappresentabili nel formato zip timestamp (mezzanotte il 1° gennaio 1980).

Avviso

Questo metodo non limita le dimensioni totali non compresse o il numero di voci estratte dall'archivio. Durante l'elaborazione degli archivi da origini non attendibili, eseguire manualmente l'iterazione delle voci usando ZipArchivee verificare che le dimensioni totali non compresse e il numero di voci siano entro limiti accettabili per lo scenario.

Si applica a

ExtractToDirectory(String, String)

Origine:
ZipFile.Extract.cs
Origine:
ZipFile.Extract.cs
Origine:
ZipFile.Extract.cs
Origine:
ZipFile.Extract.cs
Origine:
ZipFile.Extract.cs

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

public:
 static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName);
public static void ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName);
static member ExtractToDirectory : string * string -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String)

Parametri

sourceArchiveFileName
String

Percorso dell'archivio da estrarre.

destinationDirectoryName
String

Percorso della directory in cui inserire i file estratti, specificato come percorso relativo o assoluto. Un percorso relativo viene interpretato come relativo alla directory di lavoro corrente.

Eccezioni

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

destinationDirectoryName o sourceArchiveFileName è null.

Il percorso specificato in destinationDirectoryName o sourceArchiveFileName 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 di archivio crea un file esterno alla directory specificata da destinationDirectoryName. Ad esempio, questo può verificarsi se il nome della voce contiene funzioni di accesso alla directory padre.

oppure

Una voce di archivio da estrarre ha lo stesso nome di una voce che è già stata estratta o che esiste in destinationDirectoryName.

Il chiamante non dispone dell'autorizzazione necessaria per accedere all'archivio o alla directory di destinazione.

destinationDirectoryName o sourceArchiveFileName contiene un formato non valido.

sourceArchiveFileName non è stato trovato.

L'archivio specificato da sourceArchiveFileName non è un archivio ZIP valido.

oppure

Una voce di archivio non è stata trovata o è danneggiata.

oppure

Una voce di archivio è stata compressa usando un metodo di compressione non supportato.

Esempio

Questo esempio illustra come creare ed estrarre un archivio ZIP usando la ZipFile classe . Comprime il contenuto di una cartella in un archivio ZIP ed estrae il contenuto in una nuova cartella. Per usare la ZipFile classe , è necessario fare riferimento all'assembly System.IO.Compression.FileSystem nel progetto.

using System;
using System.IO.Compression;

class Program
{
    static void Main(string[] args)
    {
        string startPath = @".\start";
        string zipPath = @".\result.zip";
        string extractPath = @".\extract";

        ZipFile.CreateFromDirectory(startPath, zipPath);

        ZipFile.ExtractToDirectory(zipPath, extractPath);
    }
}
open System.IO.Compression

let startPath = @".\start"
let zipPath = @".\result.zip"
let extractPath = @".\extract"

ZipFile.CreateFromDirectory(startPath, zipPath)

ZipFile.ExtractToDirectory(zipPath, extractPath)
Imports System.IO.Compression

Module Module1

    Sub Main()
        Dim startPath As String = ".\start"
        Dim zipPath As String = ".\result.zip"
        Dim extractPath As String = ".\extract"

        ZipFile.CreateFromDirectory(startPath, zipPath)

        ZipFile.ExtractToDirectory(zipPath, extractPath)
    End Sub

End Module

Commenti

Questo metodo crea la directory specificata e tutte le sottodirectory. La directory di destinazione non può esistere già. Le eccezioni correlate alla convalida dei percorsi nei destinationDirectoryName parametri o sourceArchiveFileName vengono generate prima dell'estrazione. In caso contrario, se si verifica un errore durante l'estrazione, l'archivio rimane parzialmente estratto. Ogni file estratto ha lo stesso percorso relativo della directory specificata da destinationDirectoryName come voce di origine deve essere alla radice dell'archivio.

Se una voce nell'archivio ZIP è un collegamento simbolico, viene estratta come cartella normale perché le informazioni sul collegamento simbolico non vengono mantenute nel formato ZIP. Se destinationDirectoryName o una delle directory padre è una giunzione preesistente o un collegamento simbolico, viene seguito il collegamento e l'estrazione scrive nella cartella di destinazione finale.

Avviso

Questo metodo non limita le dimensioni totali non compresse o il numero di voci estratte dall'archivio. Durante l'elaborazione degli archivi da origini non attendibili, eseguire manualmente l'iterazione delle voci usando ZipArchivee verificare che le dimensioni totali non compresse e il numero di voci siano entro limiti accettabili per lo scenario.

Si applica a

ExtractToDirectory(Stream, String)

Origine:
ZipFile.Extract.cs
Origine:
ZipFile.Extract.cs
Origine:
ZipFile.Extract.cs
Origine:
ZipFile.Extract.cs

Estrae tutti i file dall'archivio ZIP archiviato nel flusso specificato e li inserisce nella directory di destinazione specificata nel file system.

public:
 static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName);
public static void ExtractToDirectory(System.IO.Stream source, string destinationDirectoryName);
static member ExtractToDirectory : System.IO.Stream * string -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String)

Parametri

source
Stream

Flusso da cui estrarre l'archivio ZIP.

destinationDirectoryName
String

Percorso della directory in cui inserire i file estratti, specificato come percorso relativo o assoluto. Un percorso relativo viene interpretato come relativo alla directory di lavoro corrente.

Eccezioni

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

destinationDirectoryName o source è null.

Il percorso specificato in destinationDirectoryName 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 di archivio crea un file esterno alla directory specificata da destinationDirectoryName. Ad esempio, questo può verificarsi se il nome della voce contiene funzioni di accesso alla directory padre.

oppure

Una voce di archivio da estrarre ha lo stesso nome di una voce che è già stata estratta o che esiste in destinationDirectoryName.

Il chiamante non dispone dell'autorizzazione necessaria per accedere all'archivio o alla directory di destinazione.

destinationDirectoryName contiene un formato non valido.

L'archivio contenuto nel source flusso non è un archivio ZIP valido.

oppure

Una voce di archivio non è stata trovata o è danneggiata.

oppure

Una voce di archivio è stata compressa usando un metodo di compressione non supportato.

Commenti

Questo metodo crea la directory specificata e tutte le sottodirectory. La directory di destinazione non può esistere già. Le eccezioni correlate alla convalida dei percorsi nel destinationDirectoryName file o nell'archivio ZIP contenuto nei parametri vengono generate prima dell'estrazione source . In caso contrario, se si verifica un errore durante l'estrazione, l'archivio rimane parzialmente estratto. Ogni file estratto ha lo stesso percorso relativo della directory specificata da destinationDirectoryName come voce di origine deve essere alla radice dell'archivio.

Se una voce nell'archivio ZIP è un collegamento simbolico, viene estratta come cartella normale perché le informazioni sul collegamento simbolico non vengono mantenute nel formato ZIP. Se destinationDirectoryName o una delle directory padre è una giunzione preesistente o un collegamento simbolico, viene seguito il collegamento e l'estrazione scrive nella cartella di destinazione finale.

Se un file da archiviare ha un'ora dell'ultima modifica non valida, verrà utilizzata la prima data e l'ora rappresentabili nel formato zip timestamp (mezzanotte il 1° gennaio 1980).

Avviso

Questo metodo non limita le dimensioni totali non compresse o il numero di voci estratte dall'archivio. Durante l'elaborazione degli archivi da origini non attendibili, eseguire manualmente l'iterazione delle voci usando ZipArchivee verificare che le dimensioni totali non compresse e il numero di voci siano entro limiti accettabili per lo scenario.

Si applica a

ExtractToDirectory(Stream, String, Encoding)

Origine:
ZipFile.Extract.cs
Origine:
ZipFile.Extract.cs
Origine:
ZipFile.Extract.cs
Origine:
ZipFile.Extract.cs

Estrae tutti i file dall'archivio ZIP archiviato nel flusso specificato e li inserisce nella directory di destinazione specificata nel file system e usa la codifica dei caratteri specificata per i nomi e i commenti delle voci.

public:
 static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding);
public static void ExtractToDirectory(System.IO.Stream source, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding);
static member ExtractToDirectory : System.IO.Stream * string * System.Text.Encoding -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String, entryNameEncoding As Encoding)

Parametri

source
Stream

Flusso da cui estrarre l'archivio ZIP.

destinationDirectoryName
String

Percorso della directory in cui inserire i file estratti, specificato come percorso relativo o assoluto. Un percorso relativo viene interpretato come relativo alla directory di lavoro corrente.

entryNameEncoding
Encoding

Codifica da utilizzare per la lettura o la scrittura di nomi e commenti di voci in questo archivio. Specificare un valore per questo parametro solo quando è necessaria una codifica per l'interoperabilità con gli strumenti e le librerie di archivio ZIP che non supportano la codifica UTF-8 per i nomi o i commenti delle voci.

Eccezioni

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

oppure

entryNameEncoding è impostato su una codifica Unicode diversa da UTF-8.

destinationDirectoryName o source è null.

Il percorso specificato in destinationDirectoryName 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 di archivio crea un file esterno alla directory specificata da destinationDirectoryName. Ad esempio, questo può verificarsi se il nome della voce contiene funzioni di accesso alla directory padre.

oppure

Una voce di archivio da estrarre ha lo stesso nome di una voce che è già stata estratta o che esiste in destinationDirectoryName.

Il chiamante non dispone dell'autorizzazione necessaria per accedere all'archivio o alla directory di destinazione.

destinationDirectoryName contiene un formato non valido.

L'archivio contenuto nel source flusso non è un archivio ZIP valido.

oppure

Una voce di archivio non è stata trovata o è danneggiata.

oppure

Una voce di archivio è stata compressa usando un metodo di compressione non supportato.

Commenti

Questo metodo crea la directory specificata e tutte le sottodirectory. La directory di destinazione non può esistere già. Le eccezioni correlate alla convalida dei percorsi nel destinationDirectoryName file o nell'archivio ZIP contenuto nei parametri vengono generate prima dell'estrazione source . In caso contrario, se si verifica un errore durante l'estrazione, l'archivio rimane parzialmente estratto. Ogni file estratto ha lo stesso percorso relativo della directory specificata da destinationDirectoryName come voce di origine deve essere alla radice dell'archivio.

Se un file da archiviare ha un'ora dell'ultima modifica non valida, verrà utilizzata la prima data e l'ora rappresentabili nel formato zip timestamp (mezzanotte il 1° gennaio 1980).

Avviso

Questo metodo non limita le dimensioni totali non compresse o il numero di voci estratte dall'archivio. Durante l'elaborazione degli archivi da origini non attendibili, eseguire manualmente l'iterazione delle voci usando ZipArchivee verificare che le dimensioni totali non compresse e il numero di voci siano entro limiti accettabili per lo scenario.

Si applica a