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.Open (String, ZipArchiveMode, Encoding)

.NET Framework (current version)
 

Data di pubblicazione: ottobre 2016

Apre un archivio ZIP nel percorso specificato, nella modalità specificata e usando la codifica caratteri specificata per i nomi delle voci.

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

public static ZipArchive Open(
	string archiveFileName,
	ZipArchiveMode mode,
	Encoding entryNameEncoding
)

Parametri

archiveFileName
Type: System.String

Percorso dell'archivio da aprire, specificato come percorso relativo o assoluto. Un percorso relativo è interpretato rispetto alla directory di lavoro corrente.

mode
Type: System.IO.Compression.ZipArchiveMode

Uno dei valori di enumerazione che specifica le azioni consentite sulle voci nell'archivio aperto.

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.

Valore restituito

Type: System.IO.Compression.ZipArchive

Archivio ZIP aperto.

Exception Condition
ArgumentException

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

-oppure-

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

ArgumentNullException

archiveFileName è null.

PathTooLongException

In archiveFileName, il percorso specificato, il nome di file o entrambi superano 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

archiveFileName non è valido o non esiste (ad esempio, è un'unità non assegnata).

IOException

archiveFileName non può essere aperto.

-oppure-

mode è impostato su Create, ma il file specificato archiveFileName esiste già.

UnauthorizedAccessException

archiveFileName specifica una directory.

-oppure-

Il chiamante non dispone delle autorizzazioni necessarie per accedere al file specificato archiveFileName.

ArgumentOutOfRangeException

mode Specifica un valore non valido.

FileNotFoundException

mode è impostato su Read, ma il file specificato archiveFileName non viene trovato.

NotSupportedException

archiveFileName contiene un formato non valido.

InvalidDataException

archiveFileName potrebbe non essere interpretata come un archivio zip.

-oppure-

mode è Update, ma una voce è mancante o danneggiato e non può essere letto.

-oppure-

mode è Update, ma una voce è troppo grande per essere contenuto in memoria.

Quando si imposta la mode parametro Read, l'archivio viene aperto con FileMode.Open come il valore della modalità file. Se l'archivio non esiste, un FileNotFoundException viene generata un'eccezione. L'impostazione di mode parametro Read è equivalente alla chiamata il OpenRead (metodo).

Quando si imposta la mode parametro Create, l'archivio viene aperto con FileMode.CreateNew come il valore della modalità file. Se l'archivio esiste già, un IOException viene generata un'eccezione.

Quando si imposta la mode parametro Update, l'archivio viene aperto con FileMode.OpenOrCreate come il valore della modalità file. Se esiste, l'archivio viene aperto. Le voci esistenti possono essere modificate e creare nuove voci. Se l'archivio non esiste, verrà creato un nuovo archivio. Tuttavia, la creazione di un archivio zip in Update non è efficiente come crearlo in modalità Create modalità.

Quando si apre un file di archivio zip per la lettura e entryNameEncoding è impostato su null, i nomi delle voci vengono decodificati in base alle regole seguenti:

  • Quando il linguaggio di codifica, flag (nel flag di bit di uso generale dell'intestazione del file locale) non è impostato, la tabella codici predefinita del sistema corrente viene usata per decodificare il nome della voce.

  • Quando è impostato il flag di codifica della lingua, viene utilizzato UTF-8 per decodificare il nome della voce.

Quando si apre un file di archivio zip per la lettura e entryNameEncoding è impostata su un valore diverso da null, i nomi delle voci vengono decodificati in base alle regole seguenti:

  • Quando il flag di codifica non è impostata, l'oggetto specificato entryNameEncoding viene usata per decodificare il nome della voce.

  • Quando è impostato il flag di codifica della lingua, viene utilizzato UTF-8 per decodificare il nome della voce.

Quando si scrive archiviare file e entryNameEncoding è impostato su null, i nomi delle voci sono codificati in base alle regole seguenti:

  • Per i nomi di voci che contengono caratteri non compreso nell'intervallo ASCII, viene impostato il flag di codifica della lingua e i nomi delle voci vengono codificati con UTF-8.

  • Per i nomi di voci che contengono solo caratteri ASCII, non è impostato il flag di codifica di lingua e i nomi delle voci vengono codificati utilizzando la tabella codici predefinita del sistema corrente.

Quando si scrive archiviare file e entryNameEncoding è impostata su un valore diverso da null, specificato entryNameEncoding viene utilizzato per codificare i nomi delle voci in byte. Il linguaggio di codifica, flag (nel flag di bit di uso generale dell'intestazione del file locale) viene impostato solo quando la codifica specificata è una codifica UTF-8.

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