ZipFile.CreateFromDirectoryAsync Metodo

Definizione

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 destinationArchiveFileName che contiene i file e le directory dalla directory specificata da sourceDirectoryName.

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 destinationArchiveFileName che contiene i file e le directory nella directory specificata da sourceDirectoryName.

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 destinationArchiveFileName che contiene i file e le directory nella directory specificata da sourceDirectoryName.

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 entryNameEncoding non è 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.
  • Se entryNameEncoding è specificato (!= null):
    • L'oggetto specificato entryNameEncoding verrà 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 specificato entryNameEncoding è una codifica UTF-8.

Le codifiche Unicode diverse da UTF-8 non possono essere usate per , entryNameEncodingin caso contrario viene generata un'eccezione ArgumentException .

Si applica a