ZipFile.ExtractToDirectoryAsync Metoda

Definice

Přetížení

Name Description
ExtractToDirectoryAsync(String, String, Boolean, CancellationToken)

Asynchronně extrahuje všechny soubory v zadaném archivu do adresáře v systému souborů.

ExtractToDirectoryAsync(Stream, String, CancellationToken)

Asynchronně extrahuje všechny soubory z archivu zip uloženého v zadaném datovém proudu a umístí je do zadaného cílového adresáře v systému souborů.

ExtractToDirectoryAsync(String, String, CancellationToken)

Asynchronně extrahuje všechny soubory v zadaném archivu do adresáře v systému souborů.

ExtractToDirectoryAsync(Stream, String, Boolean, CancellationToken)

Asynchronně extrahuje všechny soubory z archivu zip uloženého v zadaném datovém proudu a umístí je do zadaného cílového adresáře v systému souborů a volitelně umožňuje zvolit, jestli se mají přepsat soubory v cílovém adresáři.

ExtractToDirectoryAsync(Stream, String, Encoding, CancellationToken)

Asynchronně extrahuje všechny soubory z archivu zip uloženého v zadaném datovém proudu a umístí je do zadaného cílového adresáře v systému souborů a použije kódování zadaného znaku pro názvy položek.

ExtractToDirectoryAsync(String, String, Encoding, CancellationToken)

Asynchronně extrahuje všechny soubory v zadaném archivu do adresáře v systému souborů.

ExtractToDirectoryAsync(Stream, String, Encoding, Boolean, CancellationToken)

Asynchronně extrahuje všechny soubory z archivu zip uloženého v zadaném datovém proudu a umístí je do zadaného cílového adresáře v systému souborů, použije zadané kódování znaků pro názvy položek a volitelně umožňuje zvolit, jestli se mají soubory v cílovém adresáři přepsat.

ExtractToDirectoryAsync(String, String, Encoding, Boolean, CancellationToken)

Asynchronně extrahuje všechny soubory v zadaném archivu do adresáře v systému souborů.

Zadaný adresář nesmí existovat. Tato metoda vytvoří všechny podadresáře a zadaný adresář.

Pokud při extrahování archivu dojde k chybě, archiv zůstane částečně extrahovaný. Každá položka se extrahuje tak, že extrahovaný soubor má stejnou relativní cestu k destinationDirectoryName, jakou má položka do archivu. Cesta je povolena k zadání relativních nebo absolutních informací o cestě. Relativní informace o cestě se interpretují jako relativní vzhledem k aktuálnímu pracovnímu adresáři. Pokud má archivovaný soubor neplatný čas poslední změny, použije se první datum a čas představující ve formátu zip timestamp (půlnoc 1. ledna 1980).

ExtractToDirectoryAsync(String, String, Boolean, CancellationToken)

Zdroj:
ZipFile.Extract.Async.cs
Zdroj:
ZipFile.Extract.Async.cs

Asynchronně extrahuje všechny soubory v zadaném archivu do adresáře v systému souborů.

public static System.Threading.Tasks.Task ExtractToDirectoryAsync(string sourceArchiveFileName, string destinationDirectoryName, bool overwriteFiles, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : string * string * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (sourceArchiveFileName As String, destinationDirectoryName As String, overwriteFiles As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task

Parametry

sourceArchiveFileName
String

Cesta k archivu v systému souborů, který se má extrahovat.

destinationDirectoryName
String

Cesta k adresáři, do kterého se mají umístit extrahované soubory zadané jako relativní nebo absolutní cesta. Relativní cesta se interpretuje jako relativní vzhledem k aktuálnímu pracovnímu adresáři.

overwriteFiles
Boolean

true přepsání souborů; false Jinak.

cancellationToken
CancellationToken

Token zrušení, který se má monitorovat pro žádosti o zrušení.

Návraty

Výjimky

sourceArchiveFileName nebo destinationDirectoryName je řetězec nulové délky, obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných znaků definovaných hodnotou InvalidPathChars.

sourceArchiveFileName nebo destinationDirectoryName je null.

sourceArchiveFileName nebo destinationDirectoryName určuje cestu, název souboru nebo obojí, které překračují 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á sourceArchiveFileName nebo destinationDirectoryName je neplatná (například je na nemapované jednotce).

Došlo k vstupně-výstupní chybě.

nebo

Název položky archivu je nulová délka, obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných znaků definovaných hodnotou InvalidPathChars.

nebo

Extrahování položky archivu by vedlo k umístění souboru mimo cílový adresář (například kvůli nadřazeným přístupovým objektům adresáře).

nebo

Položka archivu má stejný název jako již extrahovaná položka ze stejného archivu.

Volající nemá požadované oprávnění.

sourceArchiveFileName nebo destinationDirectoryName je v neplatném formátu.

sourceArchiveFileName nebyl nalezen.

sourceArchiveFileName není platná zipArchive.

nebo

Položka archivu nebyla nalezena nebo byla poškozena.

nebo

Položka archivu byla komprimována pomocí metody komprese, která není podporována.

Asynchronní operace se zruší.

Poznámky

Zadaný adresář nesmí existovat. Tato metoda vytvoří všechny podadresáře a zadaný adresář.

Pokud při extrahování archivu dojde k chybě, archiv zůstane částečně extrahovaný. Každá položka se extrahuje tak, že extrahovaný soubor má stejnou relativní cestu k destinationDirectoryName archivu jako položka. Cesta přijímá relativní nebo absolutní informace o cestě; relativní cesty jsou interpretovány jako relativní vzhledem k aktuálnímu pracovnímu adresáři.

Pokud má archivovaný soubor neplatný čas poslední změny, použije se první datum a čas představující ve formátu zip timestamp (půlnoc 1. ledna 1980).

Warning

Tato metoda neomezuje celkovou nekomprimovanou velikost ani počet položek extrahovaných z archivu. Při zpracování archivů z nedůvěryhodných zdrojů iterujte položky ručně pomocí ZipArchivea ověřte, že celková nekomprimovaná velikost a počet položek jsou pro váš scénář v přijatelných mezích.

Platí pro

ExtractToDirectoryAsync(Stream, String, CancellationToken)

Zdroj:
ZipFile.Extract.Async.cs
Zdroj:
ZipFile.Extract.Async.cs

Asynchronně extrahuje všechny soubory z archivu zip uloženého v zadaném datovém proudu a umístí je do zadaného cílového adresáře v systému souborů.

public static System.Threading.Tasks.Task ExtractToDirectoryAsync(System.IO.Stream source, string destinationDirectoryName, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : System.IO.Stream * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (source As Stream, destinationDirectoryName As String, Optional cancellationToken As CancellationToken = Nothing) As Task

Parametry

source
Stream

Stream, ze kterého se má archiv zip extrahovat.

destinationDirectoryName
String

Cesta k adresáři, do kterého se mají umístit extrahované soubory zadané jako relativní nebo absolutní cesta. Relativní cesta se interpretuje jako relativní vzhledem k aktuálnímu pracovnímu adresáři.

cancellationToken
CancellationToken

Token zrušení, který se má monitorovat pro žádosti o zrušení.

Návraty

Výjimky

destinationDirectoryName je Empty, obsahuje pouze prázdné znaky nebo obsahuje aspoň jeden neplatný znak.

destinationDirectoryName nebo source je null.

Zadaná cesta destinationDirectoryName překračuje maximální délku definovanou systémem.

Zadaná cesta je neplatná (například je na nemapované jednotce).

Název položky v archivu je Empty, obsahuje pouze prázdné znaky nebo obsahuje aspoň jeden neplatný znak.

nebo

Extrahování položky archivu by vytvořilo soubor, který je mimo adresář určený destinationDirectoryName. (K tomu může dojít například v případě, že název položky obsahuje nadřazené přístupové objekty adresáře.)

nebo

Položka archivu pro extrakci má stejný název jako položka, která již byla extrahována nebo existuje v destinationDirectoryName.

Volající nemá požadovaná oprávnění pro přístup k archivu nebo cílovému adresáři.

destinationDirectoryName obsahuje neplatný formát.

Archiv obsažený ve streamu source není platný archiv zip.

nebo

Položka archivu nebyla nalezena nebo byla poškozena.

nebo

Položka archivu byla komprimována pomocí metody komprese, která není podporována.

Asynchronní operace se zruší.

Poznámky

Tato metoda vytvoří zadaný adresář a všechny podadresáře. Cílový adresář již neexistuje. Výjimky související s ověřováním cest v destinationDirectoryName archivu zip nebo souborů v archivu zip obsažené v parametrech source jsou vyvolány před extrahováním. V opačném případě, pokud dojde k chybě během extrakce, archiv zůstane částečně extrahován. Každý extrahovaný soubor má stejnou relativní cestu k adresáři určenému jeho zdrojovým destinationDirectoryName záznamem do kořenového adresáře archivu.

Pokud má archivovaný soubor neplatný čas poslední změny, použije se první datum a čas představující ve formátu zip timestamp (půlnoc 1. ledna 1980).

Warning

Tato metoda neomezuje celkovou nekomprimovanou velikost ani počet položek extrahovaných z archivu. Při zpracování archivů z nedůvěryhodných zdrojů iterujte položky ručně pomocí ZipArchivea ověřte, že celková nekomprimovaná velikost a počet položek jsou pro váš scénář v přijatelných mezích.

Platí pro

ExtractToDirectoryAsync(String, String, CancellationToken)

Zdroj:
ZipFile.Extract.Async.cs
Zdroj:
ZipFile.Extract.Async.cs

Asynchronně extrahuje všechny soubory v zadaném archivu do adresáře v systému souborů.

public static System.Threading.Tasks.Task ExtractToDirectoryAsync(string sourceArchiveFileName, string destinationDirectoryName, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : string * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (sourceArchiveFileName As String, destinationDirectoryName As String, Optional cancellationToken As CancellationToken = Nothing) As Task

Parametry

sourceArchiveFileName
String

Cesta k archivu v systému souborů, který se má extrahovat.

destinationDirectoryName
String

Cesta k adresáři, do kterého se mají umístit extrahované soubory zadané jako relativní nebo absolutní cesta. Relativní cesta se interpretuje jako relativní vzhledem k aktuálnímu pracovnímu adresáři.

cancellationToken
CancellationToken

Token zrušení, který se má monitorovat pro žádosti o zrušení.

Návraty

Výjimky

sourceArchiveFileName nebo destinationDirectoryName je řetězec nulové délky, obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných znaků definovaných hodnotou InvalidPathChars.

sourceArchiveFileName nebo destinationDirectoryName je null.

sourceArchiveFileName nebo destinationDirectoryName určuje cestu, název souboru nebo obojí, které překračují 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á sourceArchiveFileName nebo destinationDirectoryName je neplatná (například je na nemapované jednotce).

Došlo k vstupně-výstupní chybě.

nebo

Název položky archivu je nulová délka, obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných znaků definovaných hodnotou InvalidPathChars.

nebo

Extrahování položky archivu by vedlo k umístění souboru mimo cílový adresář (například kvůli nadřazeným přístupovým objektům adresáře).

nebo

Položka archivu má stejný název jako již extrahovaná položka ze stejného archivu.

Volající nemá požadované oprávnění.

sourceArchiveFileName nebo destinationDirectoryName je v neplatném formátu.

sourceArchiveFileName nebyl nalezen.

Archiv určený sourceArchiveFileName není platným zipArchivem.

nebo

Položka archivu nebyla nalezena nebo byla poškozena.

nebo

Položka archivu byla komprimována pomocí metody komprese, která není podporována.

Asynchronní operace se zruší.

Poznámky

Zadaný adresář nesmí existovat. Tato metoda vytvoří všechny podadresáře a zadaný adresář.

Pokud při extrahování archivu dojde k chybě, archiv zůstane částečně extrahovaný. Každá položka se extrahuje tak, že extrahovaný soubor má stejnou relativní cestu k destinationDirectoryName archivu jako položka. Cesta přijímá relativní nebo absolutní informace o cestě; relativní cesty jsou interpretovány jako relativní vzhledem k aktuálnímu pracovnímu adresáři.

Pokud má archivovaný soubor neplatný čas poslední změny, použije se první datum a čas představující ve formátu zip timestamp (půlnoc 1. ledna 1980).

Warning

Tato metoda neomezuje celkovou nekomprimovanou velikost ani počet položek extrahovaných z archivu. Při zpracování archivů z nedůvěryhodných zdrojů iterujte položky ručně pomocí ZipArchivea ověřte, že celková nekomprimovaná velikost a počet položek jsou pro váš scénář v přijatelných mezích.

Platí pro

ExtractToDirectoryAsync(Stream, String, Boolean, CancellationToken)

Zdroj:
ZipFile.Extract.Async.cs
Zdroj:
ZipFile.Extract.Async.cs

Asynchronně extrahuje všechny soubory z archivu zip uloženého v zadaném datovém proudu a umístí je do zadaného cílového adresáře v systému souborů a volitelně umožňuje zvolit, jestli se mají přepsat soubory v cílovém adresáři.

public static System.Threading.Tasks.Task ExtractToDirectoryAsync(System.IO.Stream source, string destinationDirectoryName, bool overwriteFiles, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : System.IO.Stream * string * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (source As Stream, destinationDirectoryName As String, overwriteFiles As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task

Parametry

source
Stream

Stream, ze kterého se má archiv zip extrahovat.

destinationDirectoryName
String

Cesta k adresáři, do kterého se mají umístit extrahované soubory zadané jako relativní nebo absolutní cesta. Relativní cesta se interpretuje jako relativní vzhledem k aktuálnímu pracovnímu adresáři.

overwriteFiles
Boolean

true přepsání souborů; false Jinak.

cancellationToken
CancellationToken

Token zrušení, který se má monitorovat pro žádosti o zrušení.

Návraty

Výjimky

destinationDirectoryName je Empty, obsahuje pouze prázdné znaky nebo obsahuje aspoň jeden neplatný znak.

destinationDirectoryName nebo source je null.

Zadaná cesta destinationDirectoryName překračuje maximální délku definovanou systémem.

Zadaná cesta je neplatná (například je na nemapované jednotce).

Název položky v archivu je Empty, obsahuje pouze prázdné znaky nebo obsahuje aspoň jeden neplatný znak.

nebo

Extrahování položky archivu by vytvořilo soubor, který je mimo adresář určený destinationDirectoryName. (K tomu může dojít například v případě, že název položky obsahuje nadřazené přístupové objekty adresáře.)

nebo

overwriteFiles je false a položka archivu pro extrakci má stejný název jako položka, která již byla extrahována nebo existuje v destinationDirectoryName.

Volající nemá požadovaná oprávnění pro přístup k archivu nebo cílovému adresáři.

destinationDirectoryName obsahuje neplatný formát.

Archiv obsažený ve streamu source není platný archiv zip.

nebo

Položka archivu nebyla nalezena nebo byla poškozena.

nebo

Položka archivu byla komprimována pomocí metody komprese, která není podporována.

Asynchronní operace se zruší.

Poznámky

Tato metoda vytvoří zadaný adresář a všechny podadresáře. Cílový adresář již neexistuje. Výjimky související s ověřováním cest v destinationDirectoryName archivu zip nebo souborů v archivu zip obsažené v parametrech source jsou vyvolány před extrahováním. V opačném případě, pokud dojde k chybě během extrakce, archiv zůstane částečně extrahován. Každý extrahovaný soubor má stejnou relativní cestu k adresáři určenému jeho zdrojovým destinationDirectoryName záznamem do kořenového adresáře archivu.

Pokud má archivovaný soubor neplatný čas poslední změny, použije se první datum a čas představující ve formátu zip timestamp (půlnoc 1. ledna 1980).

Warning

Tato metoda neomezuje celkovou nekomprimovanou velikost ani počet položek extrahovaných z archivu. Při zpracování archivů z nedůvěryhodných zdrojů iterujte položky ručně pomocí ZipArchivea ověřte, že celková nekomprimovaná velikost a počet položek jsou pro váš scénář v přijatelných mezích.

Platí pro

ExtractToDirectoryAsync(Stream, String, Encoding, CancellationToken)

Zdroj:
ZipFile.Extract.Async.cs
Zdroj:
ZipFile.Extract.Async.cs

Asynchronně extrahuje všechny soubory z archivu zip uloženého v zadaném datovém proudu a umístí je do zadaného cílového adresáře v systému souborů a použije kódování zadaného znaku pro názvy položek.

public static System.Threading.Tasks.Task ExtractToDirectoryAsync(System.IO.Stream source, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : System.IO.Stream * string * System.Text.Encoding * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (source As Stream, destinationDirectoryName As String, entryNameEncoding As Encoding, Optional cancellationToken As CancellationToken = Nothing) As Task

Parametry

source
Stream

Stream, ze kterého se má archiv zip extrahovat.

destinationDirectoryName
String

Cesta k adresáři, do kterého se mají umístit extrahované soubory zadané jako relativní nebo absolutní cesta. Relativní cesta se interpretuje jako relativní vzhledem k aktuálnímu pracovnímu adresáři.

entryNameEncoding
Encoding

Kódování, které se má použít při čtení nebo zápisu názvů položek a komentářů 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

destinationDirectoryName je Empty, obsahuje pouze prázdné znaky nebo obsahuje aspoň jeden neplatný znak.

nebo

entryNameEncoding je nastavena na kódování Unicode jiné než UTF-8.

destinationDirectoryName nebo source je null.

Zadaná cesta destinationDirectoryName překračuje maximální délku definovanou systémem.

Zadaná cesta je neplatná (například je na nemapované jednotce).

Název položky v archivu je Empty, obsahuje pouze prázdné znaky nebo obsahuje aspoň jeden neplatný znak.

nebo

Extrahování položky archivu by vytvořilo soubor, který je mimo adresář určený destinationDirectoryName. (K tomu může dojít například v případě, že název položky obsahuje nadřazené přístupové objekty adresáře.)

nebo

Položka archivu pro extrakci má stejný název jako položka, která již byla extrahována nebo existuje v destinationDirectoryName.

Volající nemá požadovaná oprávnění pro přístup k archivu nebo cílovému adresáři.

destinationDirectoryName obsahuje neplatný formát.

Archiv obsažený ve streamu source není platný archiv zip.

nebo

Položka archivu nebyla nalezena nebo byla poškozena.

nebo

Položka archivu byla komprimována pomocí metody komprese, která není podporována.

Asynchronní operace se zruší.

Poznámky

Tato metoda vytvoří zadaný adresář a všechny podadresáře. Cílový adresář již neexistuje. Výjimky související s ověřováním cest v destinationDirectoryName archivu zip nebo souborů v archivu zip obsažené v parametrech source jsou vyvolány před extrahováním. V opačném případě, pokud dojde k chybě během extrakce, archiv zůstane částečně extrahován. Každý extrahovaný soubor má stejnou relativní cestu k adresáři určenému jeho zdrojovým destinationDirectoryName záznamem do kořenového adresáře archivu.

Pokud má archivovaný soubor neplatný čas poslední změny, použije se první datum a čas představující ve formátu zip timestamp (půlnoc 1. ledna 1980).

Warning

Tato metoda neomezuje celkovou nekomprimovanou velikost ani počet položek extrahovaných z archivu. Při zpracování archivů z nedůvěryhodných zdrojů iterujte položky ručně pomocí ZipArchivea ověřte, že celková nekomprimovaná velikost a počet položek jsou pro váš scénář v přijatelných mezích.

Platí pro

ExtractToDirectoryAsync(String, String, Encoding, CancellationToken)

Zdroj:
ZipFile.Extract.Async.cs
Zdroj:
ZipFile.Extract.Async.cs

Asynchronně extrahuje všechny soubory v zadaném archivu do adresáře v systému souborů.

public static System.Threading.Tasks.Task ExtractToDirectoryAsync(string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : string * string * System.Text.Encoding * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (sourceArchiveFileName As String, destinationDirectoryName As String, entryNameEncoding As Encoding, Optional cancellationToken As CancellationToken = Nothing) As Task

Parametry

sourceArchiveFileName
String

Cesta k archivu v systému souborů, který se má extrahovat.

destinationDirectoryName
String

Cesta k adresáři v systému souborů. Zadaný adresář nesmí existovat, ale musí existovat adresář, ve které je obsažen.

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

sourceArchiveFileName nebo destinationDirectoryName je řetězec nulové délky, obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných znaků definovaných hodnotou InvalidPathChars.

sourceArchiveFileName nebo destinationDirectoryName je null.

sourceArchiveFileName nebo destinationDirectoryName určuje cestu, název souboru nebo obojí, které překračují 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á sourceArchiveFileName nebo destinationDirectoryName je neplatná (například je na nemapované jednotce).

Došlo k vstupně-výstupní chybě.

nebo

Název položky archivu je nulová délka, obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných znaků definovaných hodnotou InvalidPathChars.

nebo

Extrahování položky archivu by vedlo k umístění souboru mimo cílový adresář (například kvůli nadřazeným přístupovým objektům adresáře).

nebo

Položka archivu má stejný název jako již extrahovaná položka ze stejného archivu.

Volající nemá požadované oprávnění.

sourceArchiveFileName nebo destinationDirectoryName je v neplatném formátu.

sourceArchiveFileName nebyl nalezen.

Archiv určený sourceArchiveFileName není platným zipArchivem.

nebo

Položka archivu nebyla nalezena nebo byla poškozena.

nebo

Položka archivu byla komprimována pomocí metody komprese, která není podporována.

Asynchronní operace se zruší.

Poznámky

Zadaný adresář nesmí existovat. Tato metoda vytvoří všechny podadresáře a zadaný adresář.

Pokud při extrahování archivu dojde k chybě, archiv zůstane částečně extrahovaný. Každá položka se extrahuje tak, že extrahovaný soubor má stejnou relativní cestu k destinationDirectoryName archivu jako položka. Cesta přijímá relativní nebo absolutní informace o cestě; relativní cesty jsou interpretovány jako relativní vzhledem k aktuálnímu pracovnímu adresáři.

Pokud má archivovaný soubor neplatný čas poslední změny, použije se první datum a čas představující ve formátu zip timestamp (půlnoc 1. ledna 1980).

Je-li entryNameEncoding nastavena na jinou hodnotu než null, názvy položek a komentáře jsou dekódovány podle následujících pravidel:

  • Pro položky, ve kterých není nastaven příznak kódování jazyka (EFS) v příznaku bitu pro obecné účely hlavičky místního souboru, použijte určený entryNameEncoding k dekódování názvu položky a komentáře.
  • Pro položky, kde je nastaven příznak kódování jazyka (EFS) v příznaku pro obecné účely hlavičky místního souboru, použijte UTF-8 (Encoding.UTF8) k dekódování názvu položky a komentáře.

Pokud entryNameEncoding je nastavena hodnota null, názvy položek a komentáře jsou dekódovány podle následujících pravidel:

  • Pro položky, ve kterých není nastaven příznak kódování jazyka (EFS) v příznaku bitu pro obecné účely hlavičky místního souboru, použijte aktuální výchozí znakovou stránku systému (Encoding.Default) k dekódování názvu položky a komentáře.
  • Pro položky, kde je nastaven příznak kódování jazyka (EFS) v příznaku pro obecné účely hlavičky místního souboru, použijte UTF-8 (Encoding.UTF8) k dekódování názvu položky a komentáře.

Kódování Unicode jiné než UTF-8 nelze použít pro entryNameEncoding, jinak ArgumentException je vyvolán.

Warning

Tato metoda neomezuje celkovou nekomprimovanou velikost ani počet položek extrahovaných z archivu. Při zpracování archivů z nedůvěryhodných zdrojů iterujte položky ručně pomocí ZipArchivea ověřte, že celková nekomprimovaná velikost a počet položek jsou pro váš scénář v přijatelných mezích.

Platí pro

ExtractToDirectoryAsync(Stream, String, Encoding, Boolean, CancellationToken)

Zdroj:
ZipFile.Create.cs
Zdroj:
ZipFile.Extract.Async.cs

Asynchronně extrahuje všechny soubory z archivu zip uloženého v zadaném datovém proudu a umístí je do zadaného cílového adresáře v systému souborů, použije zadané kódování znaků pro názvy položek a volitelně umožňuje zvolit, jestli se mají soubory v cílovém adresáři přepsat.

public static System.Threading.Tasks.Task ExtractToDirectoryAsync(System.IO.Stream source, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, bool overwriteFiles, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : System.IO.Stream * string * System.Text.Encoding * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (source As Stream, destinationDirectoryName As String, entryNameEncoding As Encoding, overwriteFiles As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task

Parametry

source
Stream

Stream, ze kterého se má archiv zip extrahovat.

destinationDirectoryName
String

Cesta k adresáři, do kterého se mají umístit extrahované soubory zadané jako relativní nebo absolutní cesta. Relativní cesta se interpretuje jako relativní vzhledem k aktuálnímu pracovnímu adresáři.

entryNameEncoding
Encoding

Kódování, které se má použít při čtení nebo zápisu názvů položek a komentářů 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.

overwriteFiles
Boolean

true přepsání souborů; false Jinak.

cancellationToken
CancellationToken

Token zrušení, který se má monitorovat pro žádosti o zrušení.

Návraty

Výjimky

destinationDirectoryName je Empty, obsahuje pouze prázdné znaky nebo obsahuje aspoň jeden neplatný znak.

nebo

entryNameEncoding je nastavena na kódování Unicode jiné než UTF-8.

destinationDirectoryName nebo source je null.

Zadaná cesta destinationDirectoryName překračuje maximální délku definovanou systémem.

Zadaná cesta je neplatná (například je na nemapované jednotce).

Název položky v archivu je Empty, obsahuje pouze prázdné znaky nebo obsahuje aspoň jeden neplatný znak.

nebo

Extrahování položky archivu by vytvořilo soubor, který je mimo adresář určený destinationDirectoryName. (K tomu může dojít například v případě, že název položky obsahuje nadřazené přístupové objekty adresáře.)

nebo

overwriteFiles je false a položka archivu pro extrakci má stejný název jako položka, která již byla extrahována nebo existuje v destinationDirectoryName.

Volající nemá požadovaná oprávnění pro přístup k archivu nebo cílovému adresáři.

destinationDirectoryName obsahuje neplatný formát.

Archiv obsažený ve streamu source není platný archiv zip.

nebo

Položka archivu nebyla nalezena nebo byla poškozena.

nebo

Položka archivu byla komprimována pomocí metody komprese, která není podporována.

Asynchronní operace se zruší.

Poznámky

Tato metoda vytvoří zadaný adresář a všechny podadresáře. Cílový adresář již neexistuje. Výjimky související s ověřováním cest v destinationDirectoryName archivu zip nebo souborů v archivu zip obsažené v parametrech source jsou vyvolány před extrahováním. V opačném případě, pokud dojde k chybě během extrakce, archiv zůstane částečně extrahován. Každý extrahovaný soubor má stejnou relativní cestu k adresáři určenému jeho zdrojovým destinationDirectoryName záznamem do kořenového adresáře archivu.

Pokud má archivovaný soubor neplatný čas poslední změny, použije se první datum a čas představující ve formátu zip timestamp (půlnoc 1. ledna 1980).

Warning

Tato metoda neomezuje celkovou nekomprimovanou velikost ani počet položek extrahovaných z archivu. Při zpracování archivů z nedůvěryhodných zdrojů iterujte položky ručně pomocí ZipArchivea ověřte, že celková nekomprimovaná velikost a počet položek jsou pro váš scénář v přijatelných mezích.

Platí pro

ExtractToDirectoryAsync(String, String, Encoding, Boolean, CancellationToken)

Zdroj:
ZipFile.Extract.Async.cs
Zdroj:
ZipFile.Extract.Async.cs

Asynchronně extrahuje všechny soubory v zadaném archivu do adresáře v systému souborů.

Zadaný adresář nesmí existovat. Tato metoda vytvoří všechny podadresáře a zadaný adresář.

Pokud při extrahování archivu dojde k chybě, archiv zůstane částečně extrahovaný. Každá položka se extrahuje tak, že extrahovaný soubor má stejnou relativní cestu k destinationDirectoryName, jakou má položka do archivu. Cesta je povolena k zadání relativních nebo absolutních informací o cestě. Relativní informace o cestě se interpretují jako relativní vzhledem k aktuálnímu pracovnímu adresáři. Pokud má archivovaný soubor neplatný čas poslední změny, použije se první datum a čas představující ve formátu zip timestamp (půlnoc 1. ledna 1980).

public static System.Threading.Tasks.Task ExtractToDirectoryAsync(string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, bool overwriteFiles, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : string * string * System.Text.Encoding * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (sourceArchiveFileName As String, destinationDirectoryName As String, entryNameEncoding As Encoding, overwriteFiles As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task

Parametry

sourceArchiveFileName
String

Cesta k archivu v systému souborů, který se má extrahovat.

destinationDirectoryName
String

Cesta k adresáři, do kterého se mají umístit extrahované soubory zadané jako relativní nebo absolutní cesta. Relativní cesta se interpretuje jako relativní vzhledem k aktuálnímu pracovnímu adresáři.

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.

overwriteFiles
Boolean

true přepsání souborů; false Jinak.

cancellationToken
CancellationToken

Token zrušení, který se má monitorovat pro žádosti o zrušení.

Návraty

Výjimky

sourceArchiveFileName nebo destinationDirectoryName je řetězec nulové délky, obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných znaků definovaných hodnotou InvalidPathChars.

sourceArchiveFileName nebo destinationDirectoryName je null.

sourceArchiveFileName nebo destinationDirectoryName určuje cestu, název souboru nebo obojí, které překračují 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á sourceArchiveFileName nebo destinationDirectoryName je neplatná (například je na nemapované jednotce).

Došlo k vstupně-výstupní chybě.

nebo

Název položky archivu je nulová délka, obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných znaků definovaných hodnotou InvalidPathChars.

nebo

Extrahování položky archivu by vedlo k umístění souboru mimo cílový adresář (například kvůli nadřazeným přístupovým objektům adresáře).

nebo

Položka archivu má stejný název jako již extrahovaná položka ze stejného archivu.

Volající nemá požadované oprávnění.

sourceArchiveFileName nebo destinationDirectoryName je v neplatném formátu.

sourceArchiveFileName nebyl nalezen.

Archiv určený sourceArchiveFileName není platným zipArchivem.

nebo

Položka archivu nebyla nalezena nebo byla poškozena.

nebo

Položka archivu byla komprimována pomocí metody komprese, která není podporována.

Asynchronní operace se zruší.

Poznámky

Je-li entryNameEncoding nastavena na jinou hodnotu než null, názvy položek a komentáře jsou dekódovány podle následujících pravidel:

  • Pro položky, ve kterých není nastaven příznak kódování jazyka (EFS) v příznaku bitu pro obecné účely hlavičky místního souboru, použijte určený entryNameEncoding k dekódování názvu položky a komentáře.
  • Pro položky, kde je nastaven příznak kódování jazyka (EFS) v příznaku pro obecné účely hlavičky místního souboru, použijte UTF-8 (Encoding.UTF8) k dekódování názvu položky a komentáře.

Pokud entryNameEncoding je nastavena hodnota null, názvy položek a komentáře jsou dekódovány podle následujících pravidel:

  • Pro položky, ve kterých není nastaven příznak kódování jazyka (EFS) v příznaku bitu pro obecné účely hlavičky místního souboru, použijte aktuální výchozí znakovou stránku systému (Encoding.Default) k dekódování názvu položky a komentáře.
  • Pro položky, kde je nastaven příznak kódování jazyka (EFS) v příznaku pro obecné účely hlavičky místního souboru, použijte UTF-8 (Encoding.UTF8) k dekódování názvu položky a komentáře.

Kódování Unicode jiné než UTF-8 nelze použít pro entryNameEncoding, jinak ArgumentException je vyvolán.

Warning

Tato metoda neomezuje celkovou nekomprimovanou velikost ani počet položek extrahovaných z archivu. Při zpracování archivů z nedůvěryhodných zdrojů iterujte položky ručně pomocí ZipArchivea ověřte, že celková nekomprimovaná velikost a počet položek jsou pro váš scénář v přijatelných mezích.

Platí pro