Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo ZipFile.ExtractToDirectory (String, String, Encoding)

.NET Framework (current version)
 

Data di pubblicazione: ottobre 2016

Estrae tutti i file nell'archivio ZIP specificato in una directory del file system e usa la codifica caratteri specificata per i nomi di voci.

Spazio dei nomi:   System.IO.Compression
Assembly:  System.IO.Compression.FileSystem (in System.IO.Compression.FileSystem.dll)

public static void ExtractToDirectory(
	string sourceArchiveFileName,
	string destinationDirectoryName,
	Encoding entryNameEncoding
)

Parametri

sourceArchiveFileName
Type: System.String

Percorso dell'archivio da estrarre.

destinationDirectoryName
Type: System.String

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

entryNameEncoding
Type: System.Text.Encoding

La codifica da usate durante la lettura o la scrittura dei nomi delle voci in questo archivio. Specificare un valore per il parametro solo quando una codifica è obbligatoria per l'interoperabilità con gli strumenti e le librerie dell'archivio ZIP che non supportano la codifica UTF-8 per i nomi di voce.

Exception Condition
ArgumentException

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

-oppure-

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

ArgumentNullException

destinationDirectoryName o sourceArchiveFileName è null.

PathTooLongException

Il percorso specificato in destinationDirectoryName o sourceArchiveFileName supera la lunghezza massima definita dal sistema. Ad esempio, nelle piattaforme basate su Windows i percorsi non devono superare 248 caratteri e i nomi file non possono essere composti da più di 260 caratteri.

DirectoryNotFoundException

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

IOException

La directory specificata da destinationDirectoryName esiste già.

-oppure-

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

-oppure-

Estrazione di una voce dell'archivio potrebbe creare un file che è all'esterno della directory specificata da destinationDirectoryName. Ad esempio, si potrebbe verificare se il nome dell'elemento contiene funzioni di accesso della directory padre.

-oppure-

Una voce dell'archivio da estrarre ha lo stesso nome di una voce che è già stato estratto dall'archivio stesso.

UnauthorizedAccessException

Il chiamante non dispone delle autorizzazioni necessarie per accedere a directory di destinazione o l'archivio.

NotSupportedException

destinationDirectoryName o sourceArchiveFileName contiene un formato non valido.

FileNotFoundException

L'oggetto sourceArchiveFileName non è stato trovato.

InvalidDataException

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

-oppure-

Una voce dell'archivio non è stata trovata o è danneggiata.

-oppure-

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

Questo metodo crea la directory specificata e tutte le sottodirectory. La directory di destinazione non esiste già. Le eccezioni relative alla convalida dei percorsi nella destinationDirectoryName o sourceArchiveFileName i parametri vengono generati 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 alla directory specificata da destinationDirectoryName come origine voce sono presenti nella radice dell'archivio.

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

  • Per i nomi delle voci in cui il linguaggio di codifica, flag (nel flag di bit di uso generale dell'intestazione del file locale) non è impostato, i nomi di voce vengono decodificati utilizzando la codifica specificata.

  • Per le voci in cui è impostato il flag di codifica della lingua, i nomi di voce vengono decodificati utilizzando UTF-8.

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

  • Per le voci in cui il linguaggio di codifica, flag (nel flag di bit di uso generale dell'intestazione del file locale) non è impostato, i nomi delle voci vengono decodificati utilizzando la tabella codici predefinita del sistema corrente.

  • Per le voci in cui è impostato il flag di codifica della lingua, i nomi di voce vengono decodificati utilizzando UTF-8.

Universal Windows Platform
Disponibile da 10
.NET Framework
Disponibile da 4.5
Torna all'inizio
Mostra: