ZipFile.CreateFromDirectoryAsync Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přetížení
| Name | Description |
|---|---|
| CreateFromDirectoryAsync(String, Stream, CancellationToken) |
Asynchronně vytvoří archiv zip v zadaném datovém proudu, který obsahuje soubory a adresáře ze zadaného adresáře. |
| CreateFromDirectoryAsync(String, String, CancellationToken) |
Asynchronně vytvoří archiv zip v cestě |
| CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, CancellationToken) |
Asynchronně vytvoří archiv zip v zadaném datovém proudu, který obsahuje soubory a adresáře ze zadaného adresáře, pomocí zadané úrovně komprese a volitelně včetně základního adresáře. |
| CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, CancellationToken) |
Asynchronně vytvoří archiv zip v cestě |
| CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, Encoding, CancellationToken) |
Asynchronně vytvoří archiv zip v zadaném datovém proudu, který obsahuje soubory a adresáře ze zadaného adresáře, pomocí zadané úrovně komprese a kódování znaků pro názvy položek a volitelně včetně základního adresáře. |
| CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, Encoding, CancellationToken) |
Asynchronně vytvoří archiv zip v cestě |
CreateFromDirectoryAsync(String, Stream, CancellationToken)
- Zdroj:
- ZipFile.Create.Async.cs
- Zdroj:
- ZipFile.Create.Async.cs
Asynchronně vytvoří archiv zip v zadaném datovém proudu, který obsahuje soubory a adresáře ze zadaného adresáře.
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
Parametry
- sourceDirectoryName
- String
Cesta k adresáři, který se má archivovat, je určena jako relativní nebo absolutní cesta. Relativní cesta se interpretuje jako relativní vzhledem k aktuálnímu pracovnímu adresáři.
- destination
- Stream
Stream, do kterého se archiv zip uloží.
- cancellationToken
- CancellationToken
Token zrušení, který se má monitorovat pro žádosti o zrušení.
Návraty
Výjimky
sourceDirectoryName je Empty, obsahuje pouze prázdné znaky nebo obsahuje aspoň jeden neplatný znak.
nebo
Stream destination nepodporuje zápis.
sourceDirectoryName nebo destination je null.
Zadaná sourceDirectoryNamecesta, název souboru nebo obojí překročí maximální délku definovanou systémem.
sourceDirectoryName je neplatný nebo neexistuje (například je na nemapované jednotce).
Soubor v zadaném adresáři nelze otevřít.
nebo
Při otevírání souboru, který se má archivovat, došlo k chybě vstupně-výstupní operace.
sourceDirectoryName obsahuje neplatný formát.
Asynchronní operace se zruší.
Poznámky
Adresářová struktura ze systému souborů je zachována v archivu. Pokud je adresář prázdný, vytvoří se prázdný archiv.
Toto přetížení metody nezahrnuje základní adresář v archivu a neumožňuje zadat úroveň komprese.
Pokud chcete zahrnout základní adresář nebo zadat úroveň komprese, zavolejte CreateFromDirectory(String, Stream, CompressionLevel, Boolean) přetížení metody.
Pokud soubor v adresáři nelze přidat do archivu, archiv zůstane neúplný a neplatný a metoda vyvolá IOException výjimku.
Platí pro
CreateFromDirectoryAsync(String, String, CancellationToken)
- Zdroj:
- ZipFile.Create.Async.cs
- Zdroj:
- ZipFile.Create.Async.cs
Asynchronně vytvoří archiv zip v cestě destinationArchiveFileName , která obsahuje soubory a adresáře z adresáře určeného 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
Parametry
- sourceDirectoryName
- String
Cesta k adresáři v systému souborů, který se má archivovat.
- destinationArchiveFileName
- String
Název archivu, který se má vytvořit.
- cancellationToken
- CancellationToken
Token zrušení, který se má monitorovat pro žádosti o zrušení.
Návraty
Výjimky
sourceDirectoryNamenebo destinationArchiveFileName je řetězec nulové délky, obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných znaků definovaných .InvalidPathChars
sourceDirectoryName nebo destinationArchiveFileName je null.
sourceDirectoryNameZadaná destinationArchiveFileName cesta, název souboru nebo obojí překročí maximální délku definovanou systémem.
Například na platformách s Windows musí být cesty kratší než 248 znaků a názvy souborů musí být menší než 260 znaků.
Cesta zadaná v sourceDirectoryName nebo destinationArchiveFileName je neplatná (například je na nemapované jednotce).
nebo
Zadaný adresář sourceDirectoryName neexistuje.
destinationArchiveFileName již existuje.
nebo
Při otevírání souboru, který se má archivovat, došlo k chybě vstupně-výstupní operace.
destinationArchiveFileName zadal adresář.
nebo
Volající nemá požadované oprávnění.
sourceDirectoryName nebo destinationArchiveFileName je v neplatném formátu.
Asynchronní operace se zruší.
Poznámky
Adresářová struktura je zachována v archivu a rekurzivní vyhledávání se provádí pro archivaci souborů. Archiv nesmí existovat. Pokud je adresář prázdný, vytvoří se prázdný archiv. Pokud soubor v adresáři nelze přidat do archivu, archiv zůstane neúplný a neplatný a metoda vyvolá výjimku. Tato metoda nezahrnuje základní adresář do archivu.
Pokud při přidávání souborů do archivu dojde k chybě, tato metoda přestane přidávat soubory a ponechá archiv v neplatném stavu. Cesty mají povoleno zadat relativní nebo absolutní informace o cestě. Relativní informace o cestě se interpretují jako relativní vzhledem k aktuálnímu pracovnímu adresáři. Pokud soubor v archivu obsahuje data v poli času posledního zápisu, které není platným časovým razítkem zip, použije se hodnota ukazatele 1980 Leden 1 o půlnoci pro čas poslední změny souboru. Pokud položka se zadaným názvem již v archivu existuje, vytvoří se druhá položka, která má stejný název. Vzhledem k tomu, že není zadána žádná CompressionLevel hodnota, použije se výchozí hodnota poskytovaná implementací podkladového algoritmu komprese; ZipArchive neuloží vlastní výchozí hodnotu.
(V současné době je základní algoritmus komprese poskytován DeflateStream třídou.)
Platí pro
CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, CancellationToken)
- Zdroj:
- ZipFile.Create.Async.cs
- Zdroj:
- ZipFile.Create.Async.cs
Asynchronně vytvoří archiv zip v zadaném datovém proudu, který obsahuje soubory a adresáře ze zadaného adresáře, pomocí zadané úrovně komprese a volitelně včetně základního adresáře.
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
Parametry
- sourceDirectoryName
- String
Cesta k adresáři, který se má archivovat, je určena jako relativní nebo absolutní cesta. Relativní cesta se interpretuje jako relativní vzhledem k aktuálnímu pracovnímu adresáři.
- destination
- Stream
Stream, do kterého se archiv zip uloží.
- compressionLevel
- CompressionLevel
Jedna z hodnot výčtu, která označuje, zda se má při vytváření položky zdůraznit účinnost rychlosti nebo komprese.
- includeBaseDirectory
- Boolean
true zahrnout název adresáře z sourceDirectoryName kořenového adresáře archivu; false zahrnout pouze obsah adresáře.
- cancellationToken
- CancellationToken
Token pro monitorování žádostí o zrušení.
Návraty
Výjimky
sourceDirectoryName je Empty, obsahuje pouze prázdné znaky nebo obsahuje aspoň jeden neplatný znak.
nebo
Stream destination nepodporuje zápis.
sourceDirectoryName nebo destination je null.
Zadaná sourceDirectoryNamecesta, název souboru nebo obojí překročí maximální délku definovanou systémem.
sourceDirectoryName je neplatný nebo neexistuje (například je na nemapované jednotce).
Soubor v zadaném adresáři nelze otevřít.
nebo
Při otevírání souboru, který se má archivovat, došlo k chybě vstupně-výstupní operace.
sourceDirectoryName obsahuje neplatný formát.
compressionLevel není platná CompressionLevel hodnota.
Asynchronní operace se zruší.
Poznámky
Adresářová struktura ze systému souborů je zachována v archivu. Pokud je adresář prázdný, vytvoří se prázdný archiv.
Pomocí tohoto přetížení metody určete úroveň komprese a zda zahrnout základní adresář do archivu.
Pokud soubor v adresáři nelze přidat do archivu, archiv zůstane neúplný a neplatný a metoda vyvolá IOException výjimku.
Platí pro
CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, CancellationToken)
- Zdroj:
- ZipFile.Create.Async.cs
- Zdroj:
- ZipFile.Create.Async.cs
Asynchronně vytvoří archiv zip v cestě destinationArchiveFileName , která obsahuje soubory a adresáře v adresáři určeném 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
Parametry
- sourceDirectoryName
- String
Cesta k adresáři v systému souborů, který se má archivovat.
- destinationArchiveFileName
- String
Název archivu, který se má vytvořit.
- compressionLevel
- CompressionLevel
Jedna z hodnot výčtu, která určuje úroveň komprese (rychlost/paměť vs. kompromis komprimované velikosti).
- includeBaseDirectory
- Boolean
true označuje, že by měl být adresář sourceDirectoryName uvedený v kořenovém adresáři archivu.
false a indikuje, že soubory a adresáře by sourceDirectoryName měly být zahrnuty přímo do archivu.
- cancellationToken
- CancellationToken
Token zrušení, který se má monitorovat pro žádosti o zrušení.
Návraty
Výjimky
sourceDirectoryNamenebo destinationArchiveFileName je řetězec nulové délky, obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných znaků definovaných .InvalidPathChars
sourceDirectoryName nebo destinationArchiveFileName je null.
sourceDirectoryNameZadaná destinationArchiveFileName cesta, název souboru nebo obojí překročí maximální délku definovanou systémem.
Například na platformách s Windows musí být cesty kratší než 248 znaků a názvy souborů musí být menší než 260 znaků.
Cesta zadaná v sourceDirectoryName nebo destinationArchiveFileName je neplatná (například je na nemapované jednotce).
nebo
Zadaný adresář sourceDirectoryName neexistuje.
destinationArchiveFileName již existuje.
nebo
Při otevírání souboru, který se má archivovat, došlo k chybě vstupně-výstupní operace.
destinationArchiveFileName zadal adresář.
nebo
Volající nemá požadované oprávnění.
sourceDirectoryName nebo destinationArchiveFileName je v neplatném formátu.
Asynchronní operace se zruší.
Poznámky
Adresářová struktura je zachována v archivu a rekurzivní vyhledávání se provádí pro archivaci souborů. Archiv nesmí existovat. Pokud je adresář prázdný, vytvoří se prázdný archiv.
Pokud soubor v adresáři nelze přidat do archivu, archiv zůstane neúplný a neplatný a metoda vyvolá výjimku. Tato metoda volitelně zahrnuje základní adresář v archivu.
Pokud při přidávání souborů do archivu dojde k chybě, tato metoda zastaví přidávání souborů a ponechá archiv v neplatném stavu. Cesty mají povoleno zadat relativní nebo absolutní informace o cestě. Relativní informace o cestě se interpretují jako relativní vzhledem k aktuálnímu pracovnímu adresáři. Pokud soubor v archivu obsahuje data v poli času posledního zápisu, které není platným časovým razítkem zip, použije se hodnota ukazatele 1980 Leden 1 o půlnoci pro čas poslední změny souboru. Pokud položka se zadaným názvem již v archivu existuje, vytvoří se druhá položka, která má stejný název. Vzhledem k tomu, že není zadána žádná CompressionLevel hodnota, použije se výchozí hodnota poskytovaná implementací podkladového algoritmu komprese; ZipArchive neuloží vlastní výchozí hodnotu.
(V současné době je základní algoritmus komprese poskytován DeflateStream třídou.)
Platí pro
CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, Encoding, CancellationToken)
- Zdroj:
- ZipFile.Create.Async.cs
- Zdroj:
- ZipFile.Create.Async.cs
Asynchronně vytvoří archiv zip v zadaném datovém proudu, který obsahuje soubory a adresáře ze zadaného adresáře, pomocí zadané úrovně komprese a kódování znaků pro názvy položek a volitelně včetně základního adresáře.
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
Parametry
- sourceDirectoryName
- String
Cesta k adresáři, který se má archivovat, je určena jako relativní nebo absolutní cesta. Relativní cesta se interpretuje jako relativní vzhledem k aktuálnímu pracovnímu adresáři.
- destination
- Stream
Stream, do kterého se archiv zip uloží.
- compressionLevel
- CompressionLevel
Jedna z hodnot výčtu, která označuje, zda se má při vytváření položky zdůraznit účinnost rychlosti nebo komprese.
- includeBaseDirectory
- Boolean
true zahrnout název adresáře z sourceDirectoryName kořenového adresáře archivu; false zahrnout pouze obsah adresáře.
- entryNameEncoding
- Encoding
Kódování, které se má použít při čtení nebo zápisu názvů položek v tomto archivu. Zadejte hodnotu pro tento parametr pouze v případě, že je vyžadováno kódování pro interoperabilitu s nástroji a knihovnami zip archivu, které nepodporují kódování UTF-8 pro názvy položek nebo komentáře.
- cancellationToken
- CancellationToken
Token zrušení, který se má monitorovat pro žádosti o zrušení.
Návraty
Výjimky
sourceDirectoryName je Empty, obsahuje pouze prázdné znaky nebo obsahuje aspoň jeden neplatný znak.
nebo
Stream destination nepodporuje zápis.
sourceDirectoryName nebo destination je null.
Zadaná sourceDirectoryNamecesta, název souboru nebo obojí překročí maximální délku definovanou systémem.
sourceDirectoryName je neplatný nebo neexistuje (například je na nemapované jednotce).
Soubor v zadaném adresáři nelze otevřít.
nebo
Při otevírání souboru, který se má archivovat, došlo k chybě vstupně-výstupní operace.
sourceDirectoryName obsahuje neplatný formát.
compressionLevel není platná CompressionLevel hodnota.
Asynchronní operace se zruší.
Poznámky
Adresářová struktura ze systému souborů je zachována v archivu. Pokud je adresář prázdný, vytvoří se prázdný archiv.
Pomocí této metody přetížení určit úroveň komprese a kódování znaků a zda zahrnout základní adresář do archivu.
Pokud soubor v adresáři nelze přidat do archivu, archiv zůstane neúplný a neplatný a metoda vyvolá IOException výjimku.
Platí pro
CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, Encoding, CancellationToken)
- Zdroj:
- ZipFile.Create.Async.cs
- Zdroj:
- ZipFile.Create.Async.cs
Asynchronně vytvoří archiv zip v cestě destinationArchiveFileName , která obsahuje soubory a adresáře v adresáři určeném 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
Parametry
- sourceDirectoryName
- String
Cesta k adresáři v systému souborů, který se má archivovat.
- destinationArchiveFileName
- String
Název archivu, který se má vytvořit.
- compressionLevel
- CompressionLevel
Jedna z hodnot výčtu, která určuje úroveň komprese (rychlost/paměť vs. kompromis komprimované velikosti).
- includeBaseDirectory
- Boolean
true označuje, že by měl být adresář sourceDirectoryName uvedený v kořenovém adresáři archivu.
false a indikuje, že soubory a adresáře by sourceDirectoryName měly být zahrnuty přímo do archivu.
- entryNameEncoding
- Encoding
Kódování, které se má použít při čtení nebo zápisu názvů položek a komentářů v této zipArchive.
- cancellationToken
- CancellationToken
Token zrušení, který se má monitorovat pro žádosti o zrušení.
Návraty
Výjimky
sourceDirectoryNamenebo destinationArchiveFileName je řetězec nulové délky, obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných znaků definovaných .InvalidPathChars
sourceDirectoryName nebo destinationArchiveFileName je null.
sourceDirectoryNameZadaná destinationArchiveFileName cesta, název souboru nebo obojí překročí maximální délku definovanou systémem.
Například na platformách s Windows musí být cesty kratší než 248 znaků a názvy souborů musí být menší než 260 znaků.
Cesta zadaná v sourceDirectoryName nebo destinationArchiveFileName je neplatná (například je na nemapované jednotce).
nebo
Zadaný adresář sourceDirectoryName neexistuje.
destinationArchiveFileName již existuje.
nebo
Při otevírání souboru, který se má archivovat, došlo k chybě vstupně-výstupní operace.
destinationArchiveFileName zadal adresář.
nebo
Volající nemá požadované oprávnění.
sourceDirectoryName nebo destinationArchiveFileName je v neplatném formátu.
Asynchronní operace se zruší.
Poznámky
Adresářová struktura je zachována v archivu a rekurzivní vyhledávání se provádí pro archivaci souborů. Archiv nesmí existovat. Pokud je adresář prázdný, vytvoří se prázdný archiv.
Pokud soubor v adresáři nelze přidat do archivu, archiv zůstane neúplný a neplatný a metoda vyvolá výjimku. Tato metoda volitelně zahrnuje základní adresář v archivu.
Pokud při přidávání souborů do archivu dojde k chybě, tato metoda zastaví přidávání souborů a ponechá archiv v neplatném stavu. Cesty mají povoleno zadat relativní nebo absolutní informace o cestě. Relativní informace o cestě se interpretují jako relativní vzhledem k aktuálnímu pracovnímu adresáři. Pokud soubor v archivu obsahuje data v poli času posledního zápisu, které není platným časovým razítkem zip, použije se hodnota ukazatele 1980 Leden 1 o půlnoci pro čas poslední změny souboru. Pokud položka se zadaným názvem již v archivu existuje, vytvoří se druhá položka, která má stejný název. Vzhledem k tomu, že není zadána žádná CompressionLevel hodnota, použije se výchozí hodnota poskytovaná implementací podkladového algoritmu komprese; ZipArchive neuloží vlastní výchozí hodnotu.
(V současné době je základní algoritmus komprese poskytován DeflateStream třídou.)
Zadání hodnoty pro entryNameEncoding jinou hodnotu, než null je zakázáno.
To však může být nezbytné pro interoperabilitu s nástroji a knihovnami zip archivu, které správně nepodporují kódování UTF-8 pro názvy položek nebo komentáře.
- Pokud
entryNameEncodingnení zadán (== null):- Názvy souborů nebo komentáře, které obsahují znaky mimo rozsah ASCII:
Příznak kódování jazyka (EFS) se nastaví v příznaku bitu pro obecné účely v hlavičce místního souboru odpovídající položky a UTF-8 (Encoding.UTF8) se použije ke kódování názvu položky a komentáře do bajtů. - U názvů souborů nebo komentářů, které neobsahují znaky mimo rozsah ASCII:
Příznak kódování jazyka (EFS) nebude nastaven v příznaku bitu pro obecné účely v záhlaví místního souboru odpovídající položky a aktuální výchozí znaková stránka systému (Encoding.Default) se použije ke kódování názvů položek a komentářů do bajtů.
- Názvy souborů nebo komentáře, které obsahují znaky mimo rozsah ASCII:
- Pokud
entryNameEncodingje zadán (!= null):- Zadaná
entryNameEncodinghodnota bude vždy použita ke kódování názvů položek a komentářů do bajtů.
Příznak kódování jazyka (EFS) v příznaku pro obecné účely hlavičky místního souboru pro každou položku bude nastaven, pokud a pouze pokud je zadanýentryNameEncodingkód UTF-8.
- Zadaná
Kódování Unicode jiné než UTF-8 nelze použít pro kód entryNameEncoding, jinak ArgumentException je vyvolán.