ZipFile.CreateFromDirectoryAsync 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 |
|---|---|
| CreateFromDirectoryAsync(String, Stream, CancellationToken) |
Crea in modo asincrono un archivio ZIP nel flusso specificato che contiene i file e le directory dalla directory specificata. |
| CreateFromDirectoryAsync(String, String, CancellationToken) |
Crea in modo asincrono un archivio ZIP nel percorso |
| CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, CancellationToken) |
Crea in modo asincrono un archivio ZIP nel flusso specificato che contiene i file e le directory della directory specificata, usando il livello di compressione specificato e facoltativamente includendo la directory di base. |
| CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, CancellationToken) |
Crea in modo asincrono un archivio ZIP nel percorso |
| CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, Encoding, CancellationToken) |
Crea in modo asincrono un archivio ZIP nel flusso specificato che contiene i file e le directory della directory specificata, usando il livello di compressione e la codifica dei caratteri specificati per i nomi delle voci e, facoltativamente, includendo la directory di base. |
| CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, Encoding, CancellationToken) |
Crea in modo asincrono un archivio ZIP nel percorso |
CreateFromDirectoryAsync(String, Stream, CancellationToken)
- Origine:
- ZipFile.Create.Async.cs
- Origine:
- ZipFile.Create.Async.cs
Crea in modo asincrono un archivio ZIP nel flusso specificato che contiene i file e le directory dalla directory specificata.
public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, System.IO.Stream destination, System.Threading.CancellationToken cancellationToken = default);
static member CreateFromDirectoryAsync : string * System.IO.Stream * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function CreateFromDirectoryAsync (sourceDirectoryName As String, destination As Stream, Optional cancellationToken As CancellationToken = Nothing) As Task
Parametri
- sourceDirectoryName
- String
Percorso della directory da archiviare, specificato come percorso relativo o assoluto. Un percorso relativo viene interpretato come relativo alla directory di lavoro corrente.
- destination
- Stream
Flusso in cui archiviare l'archivio ZIP.
- cancellationToken
- CancellationToken
Token di annullamento da monitorare per le richieste di annullamento.
Valori restituiti
Eccezioni
sourceDirectoryName è Empty, contiene solo spazi vuoti o contiene almeno un carattere non valido.
oppure
Il destination flusso non supporta la scrittura.
sourceDirectoryName o destination è null.
In sourceDirectoryNameil percorso specificato, il nome del file o entrambi superano la lunghezza massima definita dal sistema.
sourceDirectoryName non è valido o non esiste (ad esempio, si trova in un'unità non mappata).
Impossibile aprire un file nella directory specificata.
oppure
Si è verificato un errore di I/O durante l'apertura di un file da archiviare.
sourceDirectoryName contiene un formato non valido.
Un'operazione asincrona viene annullata.
Commenti
La struttura di directory del file system viene mantenuta nell'archivio. Se la directory è vuota, viene creato un archivio vuoto.
Questo overload del metodo non include la directory di base nell'archivio e non consente di specificare un livello di compressione.
Se si desidera includere la directory di base o specificare un livello di compressione, chiamare l'overload del CreateFromDirectory(String, Stream, CompressionLevel, Boolean) metodo.
Se non è possibile aggiungere un file nella directory all'archivio, l'archivio viene lasciato incompleto e non valido e il metodo genera un'eccezione IOException .
Si applica a
CreateFromDirectoryAsync(String, String, CancellationToken)
- Origine:
- ZipFile.Create.Async.cs
- Origine:
- ZipFile.Create.Async.cs
Crea in modo asincrono un archivio ZIP nel percorso destinationArchiveFileName che contiene i file e le directory dalla directory specificata da sourceDirectoryName.
public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, string destinationArchiveFileName, System.Threading.CancellationToken cancellationToken = default);
static member CreateFromDirectoryAsync : string * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function CreateFromDirectoryAsync (sourceDirectoryName As String, destinationArchiveFileName As String, Optional cancellationToken As CancellationToken = Nothing) As Task
Parametri
- sourceDirectoryName
- String
Percorso della directory nel file system da archiviare.
- destinationArchiveFileName
- String
Nome dell'archivio da creare.
- cancellationToken
- CancellationToken
Token di annullamento da monitorare per le richieste di annullamento.
Valori restituiti
Eccezioni
sourceDirectoryName o destinationArchiveFileName è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi, come definito da InvalidPathChars.
sourceDirectoryName o destinationArchiveFileName è null.
In sourceDirectoryName o destinationArchiveFileName, il percorso specificato, il nome del file o entrambi superano 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.
Il percorso specificato in sourceDirectoryName o destinationArchiveFileName non è valido, ad esempio in un'unità non mappata.
oppure
La directory specificata da sourceDirectoryName non esiste.
destinationArchiveFileName esiste già.
oppure
Si è verificato un errore di I/O durante l'apertura di un file da archiviare.
destinationArchiveFileName è stata specificata una directory.
oppure
Il chiamante non dispone dell'autorizzazione richiesta.
sourceDirectoryName o destinationArchiveFileName non è valido.
Un'operazione asincrona viene annullata.
Commenti
La struttura di directory viene mantenuta nell'archivio e viene eseguita una ricerca ricorsiva per i file da archiviare. L'archivio non deve esistere. Se la directory è vuota, viene creato un archivio vuoto. Se non è possibile aggiungere un file nella directory all'archivio, l'archivio verrà lasciato incompleto e non valido e il metodo genererà un'eccezione. Questo metodo non include la directory di base nell'archivio.
Se si verifica un errore durante l'aggiunta di file all'archivio, questo metodo interrompe l'aggiunta di file e lascia l'archivio in uno stato non valido. I percorsi possono specificare informazioni relative o assolute sul percorso. Le informazioni sul percorso relative sono interpretate come relative alla directory di lavoro corrente. Se un file nell'archivio contiene dati nell'ultimo campo dell'ora di scrittura che non è un timestamp zip valido, verrà utilizzato il valore dell'indicatore 1980 gennaio a mezzanotte per l'ora dell'ultima modifica del file. Se esiste già una voce con il nome specificato nell'archivio, viene creata una seconda voce con un nome identico. Poiché non viene specificato alcun CompressionLevel valore, viene utilizzato il valore predefinito fornito dall'implementazione dell'algoritmo di compressione sottostante. Non ZipArchive impone il proprio valore predefinito.
Attualmente, l'algoritmo di compressione sottostante viene fornito dalla DeflateStream classe .
Si applica a
CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, CancellationToken)
- Origine:
- ZipFile.Create.Async.cs
- Origine:
- ZipFile.Create.Async.cs
Crea in modo asincrono un archivio ZIP nel flusso specificato che contiene i file e le directory della directory specificata, usando il livello di compressione specificato e facoltativamente includendo la directory di base.
public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, System.IO.Stream destination, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory, System.Threading.CancellationToken cancellationToken = default);
static member CreateFromDirectoryAsync : string * System.IO.Stream * System.IO.Compression.CompressionLevel * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function CreateFromDirectoryAsync (sourceDirectoryName As String, destination As Stream, compressionLevel As CompressionLevel, includeBaseDirectory As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task
Parametri
- sourceDirectoryName
- String
Percorso della directory da archiviare, specificato come percorso relativo o assoluto. Un percorso relativo viene interpretato come relativo alla directory di lavoro corrente.
- destination
- Stream
Flusso in cui archiviare l'archivio ZIP.
- compressionLevel
- CompressionLevel
Uno dei valori di enumerazione che indica se evidenziare l'efficacia della velocità o della compressione durante la creazione della voce.
- includeBaseDirectory
- Boolean
true per includere il nome della directory dalla sourceDirectoryName radice dell'archivio; false per includere solo il contenuto della directory.
- cancellationToken
- CancellationToken
Token da monitorare per le richieste di annullamento.
Valori restituiti
Eccezioni
sourceDirectoryName è Empty, contiene solo spazi vuoti o contiene almeno un carattere non valido.
oppure
Il destination flusso non supporta la scrittura.
sourceDirectoryName o destination è null.
In sourceDirectoryNameil percorso specificato, il nome del file o entrambi superano la lunghezza massima definita dal sistema.
sourceDirectoryName non è valido o non esiste (ad esempio, si trova in un'unità non mappata).
Impossibile aprire un file nella directory specificata.
oppure
Si è verificato un errore di I/O durante l'apertura di un file da archiviare.
sourceDirectoryName contiene un formato non valido.
compressionLevel non è un valore valido CompressionLevel .
Un'operazione asincrona viene annullata.
Commenti
La struttura di directory del file system viene mantenuta nell'archivio. Se la directory è vuota, viene creato un archivio vuoto.
Utilizzare questo overload del metodo per specificare il livello di compressione e se includere la directory di base nell'archivio.
Se non è possibile aggiungere un file nella directory all'archivio, l'archivio viene lasciato incompleto e non valido e il metodo genera un'eccezione IOException .
Si applica a
CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, CancellationToken)
- Origine:
- ZipFile.Create.Async.cs
- Origine:
- ZipFile.Create.Async.cs
Crea in modo asincrono un archivio ZIP nel percorso destinationArchiveFileName che contiene i file e le directory nella directory specificata da sourceDirectoryName.
public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, string destinationArchiveFileName, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory, System.Threading.CancellationToken cancellationToken = default);
static member CreateFromDirectoryAsync : string * string * System.IO.Compression.CompressionLevel * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function CreateFromDirectoryAsync (sourceDirectoryName As String, destinationArchiveFileName As String, compressionLevel As CompressionLevel, includeBaseDirectory As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task
Parametri
- sourceDirectoryName
- String
Percorso della directory nel file system da archiviare.
- destinationArchiveFileName
- String
Nome dell'archivio da creare.
- compressionLevel
- CompressionLevel
Uno dei valori di enumerazione che specifica il livello della compressione (velocità/memoria rispetto al compromesso delle dimensioni compresse).
- includeBaseDirectory
- Boolean
true per indicare che una directory denominata sourceDirectoryName deve essere inclusa nella radice dell'archivio.
false per indicare che i file e le directory in sourceDirectoryName devono essere inclusi direttamente nell'archivio.
- cancellationToken
- CancellationToken
Token di annullamento da monitorare per le richieste di annullamento.
Valori restituiti
Eccezioni
sourceDirectoryName o destinationArchiveFileName è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi, come definito da InvalidPathChars.
sourceDirectoryName o destinationArchiveFileName è null.
In sourceDirectoryName o destinationArchiveFileName, il percorso specificato, il nome del file o entrambi superano 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.
Il percorso specificato in sourceDirectoryName o destinationArchiveFileName non è valido, ad esempio in un'unità non mappata.
oppure
La directory specificata da sourceDirectoryName non esiste.
destinationArchiveFileName esiste già.
oppure
Si è verificato un errore di I/O durante l'apertura di un file da archiviare.
destinationArchiveFileName è stata specificata una directory.
oppure
Il chiamante non dispone dell'autorizzazione richiesta.
sourceDirectoryName o destinationArchiveFileName non è valido.
Un'operazione asincrona viene annullata.
Commenti
La struttura di directory viene mantenuta nell'archivio e viene eseguita una ricerca ricorsiva per i file da archiviare. L'archivio non deve esistere. Se la directory è vuota, verrà creato un archivio vuoto.
Se non è possibile aggiungere un file nella directory all'archivio, l'archivio verrà lasciato incompleto e non valido e il metodo genererà un'eccezione. Questo metodo include facoltativamente la directory di base nell'archivio.
Se si verifica un errore durante l'aggiunta di file all'archivio, questo metodo interrompe l'aggiunta di file e lascia l'archivio in uno stato non valido. I percorsi possono specificare informazioni relative o assolute sul percorso. Le informazioni sul percorso relative sono interpretate come relative alla directory di lavoro corrente. Se un file nell'archivio contiene dati nell'ultimo campo dell'ora di scrittura che non è un timestamp zip valido, verrà utilizzato il valore dell'indicatore 1980 gennaio a mezzanotte per l'ora dell'ultima modifica del file. Se esiste già una voce con il nome specificato nell'archivio, verrà creata una seconda voce con un nome identico. Poiché non viene specificato alcun CompressionLevel valore, verrà utilizzato il valore predefinito fornito dall'implementazione dell'algoritmo di compressione sottostante. Non ZipArchive impone il proprio valore predefinito.
Attualmente, l'algoritmo di compressione sottostante viene fornito dalla DeflateStream classe .
Si applica a
CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, Encoding, CancellationToken)
- Origine:
- ZipFile.Create.Async.cs
- Origine:
- ZipFile.Create.Async.cs
Crea in modo asincrono un archivio ZIP nel flusso specificato che contiene i file e le directory della directory specificata, usando il livello di compressione e la codifica dei caratteri specificati per i nomi delle voci e, facoltativamente, includendo la directory di base.
public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, System.IO.Stream destination, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory, System.Text.Encoding? entryNameEncoding, System.Threading.CancellationToken cancellationToken = default);
static member CreateFromDirectoryAsync : string * System.IO.Stream * System.IO.Compression.CompressionLevel * bool * System.Text.Encoding * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function CreateFromDirectoryAsync (sourceDirectoryName As String, destination As Stream, compressionLevel As CompressionLevel, includeBaseDirectory As Boolean, entryNameEncoding As Encoding, Optional cancellationToken As CancellationToken = Nothing) As Task
Parametri
- sourceDirectoryName
- String
Percorso della directory da archiviare, specificato come percorso relativo o assoluto. Un percorso relativo viene interpretato come relativo alla directory di lavoro corrente.
- destination
- Stream
Flusso in cui archiviare l'archivio ZIP.
- compressionLevel
- CompressionLevel
Uno dei valori di enumerazione che indica se evidenziare l'efficacia della velocità o della compressione durante la creazione della voce.
- includeBaseDirectory
- Boolean
true per includere il nome della directory dalla sourceDirectoryName radice dell'archivio; false per includere solo il contenuto della directory.
- entryNameEncoding
- Encoding
Codifica da utilizzare per la lettura o la scrittura di nomi di voce 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.
- cancellationToken
- CancellationToken
Token di annullamento da monitorare per le richieste di annullamento.
Valori restituiti
Eccezioni
sourceDirectoryName è Empty, contiene solo spazi vuoti o contiene almeno un carattere non valido.
oppure
Il destination flusso non supporta la scrittura.
sourceDirectoryName o destination è null.
In sourceDirectoryNameil percorso specificato, il nome del file o entrambi superano la lunghezza massima definita dal sistema.
sourceDirectoryName non è valido o non esiste (ad esempio, si trova in un'unità non mappata).
Impossibile aprire un file nella directory specificata.
oppure
Si è verificato un errore di I/O durante l'apertura di un file da archiviare.
sourceDirectoryName contiene un formato non valido.
compressionLevel non è un valore valido CompressionLevel .
Un'operazione asincrona viene annullata.
Commenti
La struttura di directory del file system viene mantenuta nell'archivio. Se la directory è vuota, viene creato un archivio vuoto.
Utilizzare questo overload del metodo per specificare il livello di compressione e la codifica dei caratteri e se includere la directory di base nell'archivio.
Se non è possibile aggiungere un file nella directory all'archivio, l'archivio viene lasciato incompleto e non valido e il metodo genera un'eccezione IOException .
Si applica a
CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, Encoding, CancellationToken)
- Origine:
- ZipFile.Create.Async.cs
- Origine:
- ZipFile.Create.Async.cs
Crea in modo asincrono un archivio ZIP nel percorso destinationArchiveFileName che contiene i file e le directory nella directory specificata da sourceDirectoryName.
public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, string destinationArchiveFileName, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory, System.Text.Encoding? entryNameEncoding, System.Threading.CancellationToken cancellationToken = default);
static member CreateFromDirectoryAsync : string * string * System.IO.Compression.CompressionLevel * bool * System.Text.Encoding * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function CreateFromDirectoryAsync (sourceDirectoryName As String, destinationArchiveFileName As String, compressionLevel As CompressionLevel, includeBaseDirectory As Boolean, entryNameEncoding As Encoding, Optional cancellationToken As CancellationToken = Nothing) As Task
Parametri
- sourceDirectoryName
- String
Percorso della directory nel file system da archiviare.
- destinationArchiveFileName
- String
Nome dell'archivio da creare.
- compressionLevel
- CompressionLevel
Uno dei valori di enumerazione che specifica il livello della compressione (velocità/memoria rispetto al compromesso delle dimensioni compresse).
- includeBaseDirectory
- Boolean
true per indicare che una directory denominata sourceDirectoryName deve essere inclusa nella radice dell'archivio.
false per indicare che i file e le directory in sourceDirectoryName devono essere inclusi direttamente nell'archivio.
- 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
sourceDirectoryName o destinationArchiveFileName è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi, come definito da InvalidPathChars.
sourceDirectoryName o destinationArchiveFileName è null.
In sourceDirectoryName o destinationArchiveFileName, il percorso specificato, il nome del file o entrambi superano 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.
Il percorso specificato in sourceDirectoryName o destinationArchiveFileName non è valido, ad esempio in un'unità non mappata.
oppure
La directory specificata da sourceDirectoryName non esiste.
destinationArchiveFileName esiste già.
oppure
Si è verificato un errore di I/O durante l'apertura di un file da archiviare.
destinationArchiveFileName è stata specificata una directory.
oppure
Il chiamante non dispone dell'autorizzazione richiesta.
sourceDirectoryName o destinationArchiveFileName non è valido.
Un'operazione asincrona viene annullata.
Commenti
La struttura di directory viene mantenuta nell'archivio e viene eseguita una ricerca ricorsiva per i file da archiviare. L'archivio non deve esistere. Se la directory è vuota, verrà creato un archivio vuoto.
Se non è possibile aggiungere un file nella directory all'archivio, l'archivio verrà lasciato incompleto e non valido e il metodo genererà un'eccezione. Questo metodo include facoltativamente la directory di base nell'archivio.
Se si verifica un errore durante l'aggiunta di file all'archivio, questo metodo interrompe l'aggiunta di file e lascia l'archivio in uno stato non valido. I percorsi possono specificare informazioni relative o assolute sul percorso. Le informazioni sul percorso relative sono interpretate come relative alla directory di lavoro corrente. Se un file nell'archivio contiene dati nell'ultimo campo dell'ora di scrittura che non è un timestamp zip valido, verrà utilizzato il valore dell'indicatore 1980 gennaio a mezzanotte per l'ora dell'ultima modifica del file. Se esiste già una voce con il nome specificato nell'archivio, verrà creata una seconda voce con un nome identico. Poiché non viene specificato alcun CompressionLevel valore, verrà utilizzato il valore predefinito fornito dall'implementazione dell'algoritmo di compressione sottostante. Non ZipArchive impone il proprio valore predefinito.
Attualmente, l'algoritmo di compressione sottostante viene fornito dalla DeflateStream classe .
Non è consigliabile specificare un valore per entryNameEncoding diverso null da .
Tuttavia, questo 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 delle voci o i commenti.
- Se
entryNameEncodingnon è specificato (== null):- Per i nomi di file o i commenti che contengono caratteri esterni all'intervallo ASCII:
Il flag di codifica della lingua (EFS) verrà impostato nel flag di bit per utilizzo generico dell'intestazione del file locale della voce corrispondente e verrà usato UTF-8 (Encoding.UTF8) per codificare il nome della voce e il commento in byte. - Per i nomi di file o 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 della voce corrispondente e la tabella codici predefinita del sistema corrente (Encoding.Default) verrà usata per codificare i nomi delle voci e i commenti in byte.
- Per i nomi di file o i commenti che contengono caratteri esterni all'intervallo ASCII:
- 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 per ogni voce verrà impostato se e solo se l'oggetto specificatoentryNameEncodingè 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 .