ZipFile.OpenAsync Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
| Nome | Descrizione |
|---|---|
| OpenAsync(String, ZipArchiveMode, CancellationToken) |
Apre in modo asincrono un oggetto |
| OpenAsync(String, ZipArchiveMode, Encoding, CancellationToken) |
Apre in modo asincrono un oggetto |
OpenAsync(String, ZipArchiveMode, CancellationToken)
- Origine:
- ZipFile.Create.Async.cs
- Origine:
- ZipFile.Create.Async.cs
Apre in modo asincrono un oggetto ZipArchive sull'oggetto specificato archiveFileName nella modalità specificata ZipArchiveMode .
public static System.Threading.Tasks.Task<System.IO.Compression.ZipArchive> OpenAsync(string archiveFileName, System.IO.Compression.ZipArchiveMode mode, System.Threading.CancellationToken cancellationToken = default);
static member OpenAsync : string * System.IO.Compression.ZipArchiveMode * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.IO.Compression.ZipArchive>
Public Shared Function OpenAsync (archiveFileName As String, mode As ZipArchiveMode, Optional cancellationToken As CancellationToken = Nothing) As Task(Of ZipArchive)
Parametri
- archiveFileName
- String
Percorso nel file system in cui aprire l'archivio.
- mode
- ZipArchiveMode
Uno dei valori di enumerazione che specifica le azioni consentite nelle voci nell'archivio aperto.
- cancellationToken
- CancellationToken
Token di annullamento da monitorare per le richieste di annullamento.
Valori restituiti
Eccezioni
archiveFileName è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi, come definito da InvalidPathChars.
archiveFileName è null.
archiveFileName supera la lunghezza massima definita dal sistema. Ad esempio, nelle piattaforme basate su Windows, i percorsi devono essere inferiori a 248 caratteri e i nomi di file devono essere inferiori a 260 caratteri.
L'oggetto specificato archiveFileName non è valido, ad esempio in un'unità non mappata.
Errore di I/O non specificato durante l'apertura del file.
archiveFileName è stata specificata una directory.
oppure
Il chiamante non dispone dell'autorizzazione richiesta.
mode specificato un valore non valido.
Il file specificato in archiveFileName non è stato trovato.
archiveFileName è in un formato non valido.
Impossibile interpretare il file specificato come file ZIP.
oppure
mode è Update e una voce non è presente nell'archivio o è danneggiata e non può essere letta.
oppure
mode è Update e una voce è troppo grande per adattarsi alla memoria.
Un'operazione asincrona viene annullata.
Commenti
Per archiveFileName:
Il percorso è autorizzato a specificare informazioni relative o assolute sul percorso. Le informazioni sul percorso relative sono interpretate come relative alla directory di lavoro corrente.
Per mode:
Se Read viene specificato, il file viene aperto con System.IO.FileMode.Opene genererà un'eccezione FileNotFoundException se il file non esiste.
Se Create viene specificato, il file viene aperto con System.IO.FileMode.CreateNewe genererà un'eccezione System.IO.IOException se il file esiste già.
Se Update viene specificato, il file viene aperto con System.IO.FileMode.OpenOrCreate.
Se il file esiste ed è un file ZIP, le relative voci diventano accessibili e possono essere modificate e possono essere create nuove voci.
Se il file esiste e non è un file ZIP, viene generata un'eccezione InvalidDataException .
Se il file esiste ed è vuoto o non esiste, verrà creato un nuovo file ZIP.
La creazione di un file ZIP con la Create modalità è più efficiente quando si crea un nuovo file ZIP.
Si applica a
OpenAsync(String, ZipArchiveMode, Encoding, CancellationToken)
- Origine:
- ZipFile.Create.Async.cs
- Origine:
- ZipFile.Create.Async.cs
Apre in modo asincrono un oggetto ZipArchive sull'oggetto specificato archiveFileName nella modalità specificata ZipArchiveMode .
public static System.Threading.Tasks.Task<System.IO.Compression.ZipArchive> OpenAsync(string archiveFileName, System.IO.Compression.ZipArchiveMode mode, System.Text.Encoding? entryNameEncoding, System.Threading.CancellationToken cancellationToken = default);
static member OpenAsync : string * System.IO.Compression.ZipArchiveMode * System.Text.Encoding * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.IO.Compression.ZipArchive>
Public Shared Function OpenAsync (archiveFileName As String, mode As ZipArchiveMode, entryNameEncoding As Encoding, Optional cancellationToken As CancellationToken = Nothing) As Task(Of ZipArchive)
Parametri
- archiveFileName
- String
Percorso nel file system in cui aprire l'archivio.
- mode
- ZipArchiveMode
Uno dei valori di enumerazione che specifica le azioni consentite nelle voci nell'archivio aperto.
- entryNameEncoding
- Encoding
Codifica da utilizzare per la lettura o la scrittura di nomi e commenti di voci in questo zipArchive.
- cancellationToken
- CancellationToken
Token di annullamento da monitorare per le richieste di annullamento.
Valori restituiti
Eccezioni
archiveFileName è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi, come definito da InvalidPathChars.
archiveFileName è null.
archiveFileName supera la lunghezza massima definita dal sistema. Ad esempio, nelle piattaforme basate su Windows, i percorsi devono essere inferiori a 248 caratteri e i nomi di file devono essere inferiori a 260 caratteri.
archiveFileName non è valido( ad esempio, si trova in un'unità non mappata).
Errore di I/O non specificato durante l'apertura del file.
archiveFileName è stata specificata una directory.
oppure
Il chiamante non dispone dell'autorizzazione richiesta.
mode specificato un valore non valido.
Il file specificato in archiveFileName non è stato trovato.
archiveFileName è in un formato non valido.
Impossibile interpretare il file specificato come file ZIP.
oppure
mode è Update e una voce non è presente nell'archivio o è danneggiata e non può essere letta.
oppure
mode è Update e una voce è troppo grande per adattarsi alla memoria.
Un'operazione asincrona viene annullata.
Commenti
Per archiveFileName:
Il percorso è autorizzato a specificare informazioni relative o assolute sul percorso. Le informazioni sul percorso relative sono interpretate come relative alla directory di lavoro corrente.
Per mode:
Se Read viene specificato, il file viene aperto con System.IO.FileMode.Opene genererà un'eccezione FileNotFoundException se il file non esiste.
Se Create viene specificato, il file viene aperto con System.IO.FileMode.CreateNewe genererà un'eccezione System.IO.IOException se il file esiste già.
Se Update viene specificato, il file viene aperto con System.IO.FileMode.OpenOrCreate.
Se il file esiste ed è un file ZIP, le relative voci diventano accessibili e possono essere modificate e possono essere create nuove voci.
Se il file esiste e non è un file ZIP, viene generata un'eccezione InvalidDataException .
Se il file esiste ed è vuoto o non esiste, verrà creato un nuovo file ZIP.
La creazione di un file ZIP con la Create modalità è più efficiente quando si crea un nuovo file ZIP.
Non è consigliabile specificare un valore diverso null da per entryNameEncoding . Tuttavia, potrebbe essere necessario per l'interoperabilità con gli strumenti e le librerie di archivio ZIP che non supportano correttamente la codifica UTF-8 per i nomi o i commenti delle voci.
Questo valore viene usato come segue:
- Se
entryNameEncodingnon è specificato (== null):- Per le voci in cui il flag di codifica della lingua (EFS) nel flag di bit per utilizzo generico dell'intestazione del file locale non è impostato, usare la tabella codici predefinita del sistema corrente (
Encoding.Default) per decodificare il nome e il commento della voce. - Per le voci in cui è impostato il flag di codifica della lingua (EFS) nel flag di bit per utilizzo generico dell'intestazione del file locale, usare UTF-8 (
Encoding.UTF8) per decodificare il nome e il commento della voce.
- Per le voci in cui il flag di codifica della lingua (EFS) nel flag di bit per utilizzo generico dell'intestazione del file locale non è impostato, usare la tabella codici predefinita del sistema corrente (
- Se
entryNameEncodingè specificato (!= null):- Per le voci in cui il flag di codifica della lingua (EFS) nel flag di bit per utilizzo generico dell'intestazione del file locale non è impostato, usare l'oggetto specificato
entryNameEncodingper decodificare il nome e il commento della voce. - Per le voci in cui è impostato il flag di codifica della lingua (EFS) nel flag di bit per utilizzo generico dell'intestazione del file locale, usare UTF-8 (
Encoding.UTF8) per decodificare il nome e il commento della voce.
- Per le voci in cui il flag di codifica della lingua (EFS) nel flag di bit per utilizzo generico dell'intestazione del file locale non è impostato, usare l'oggetto specificato
- Se
entryNameEncodingnon è specificato (== null):- Per i nomi di voce e i commenti che contengono caratteri esterni all'intervallo ASCII, il flag di codifica della lingua (EFS) verrà impostato nel flag di bit utilizzo generico dell'intestazione del file locale e UTF-8 (
Encoding.UTF8) verrà usato per codificare il nome della voce e il commento in byte. - Per i nomi di voce e i commenti che non contengono caratteri esterni all'intervallo ASCII, il flag di codifica della lingua (EFS) non verrà impostato nel flag di bit per utilizzo generico dell'intestazione del file locale e la tabella codici predefinita del sistema corrente (
Encoding.Default) verrà usata per codificare i nomi e i commenti delle voci in byte.
- Per i nomi di voce e i commenti che contengono caratteri esterni all'intervallo ASCII, il flag di codifica della lingua (EFS) verrà impostato nel flag di bit utilizzo generico dell'intestazione del file locale e UTF-8 (
- Se
entryNameEncodingè specificato (!= null):- L'oggetto specificato
entryNameEncodingverrà sempre usato per codificare i nomi delle voci e i commenti in byte. - Il flag di codifica della lingua (EFS) nel flag di bit generico dell'intestazione del file locale verrà impostato se e solo se l'oggetto specificato
entryNameEncodingè una codifica UTF-8.
- L'oggetto specificato
Le codifiche Unicode diverse da UTF-8 non possono essere usate per , entryNameEncodingin caso contrario viene generata un'eccezione ArgumentException .