Sdílet prostřednictvím


ZipFile.ExtractToDirectory Metoda

Definice

Extrahuje všechny soubory v zadaném archivu zip do adresáře v systému souborů.

Přetížení

Name Description
ExtractToDirectory(String, String, Encoding, Boolean)

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

ExtractToDirectory(Stream, String, Encoding, Boolean)

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 komentáře a volitelně umožňuje zvolit, jestli se mají soubory v cílovém adresáři přepsat.

ExtractToDirectory(String, String, Encoding)

Extrahuje všechny soubory v zadaném archivu zip do adresáře v systému souborů a použije zadané kódování znaků pro názvy položek a komentáře.

ExtractToDirectory(String, String, Boolean)

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

ExtractToDirectory(Stream, String, Boolean)

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í soubory v cílovém adresáři přepsat.

ExtractToDirectory(String, String)

Extrahuje všechny soubory v zadaném archivu zip do adresáře v systému souborů.

ExtractToDirectory(Stream, String)

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ů.

ExtractToDirectory(Stream, String, Encoding)

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 a komentáře.

ExtractToDirectory(String, String, Encoding, Boolean)

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

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

public:
 static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding, bool overwriteFiles);
public static void ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, bool overwriteFiles);
public static void ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding entryNameEncoding, bool overwriteFiles);
static member ExtractToDirectory : string * string * System.Text.Encoding * bool -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String, entryNameEncoding As Encoding, overwriteFiles As Boolean)

Parametry

sourceArchiveFileName
String

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

destinationDirectoryName
String

Cesta k cílovému adresáři v systému souborů.

entryNameEncoding
Encoding

Kódování, které se má použít při čtení názvů položek a komentářů v tomto ZipArchivesouboru .

overwriteFiles
Boolean

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

Výjimky

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

nebo

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

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.

Cesta zadaná sourceArchiveFileName nebo destinationDirectoryName neplatná (například je na nemapované jednotce).

overwriteFilesje false a položka archivu pro extrakci má stejný název jako soubor, který již existuje .destinationDirectoryName

nebo

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

nebo

Název je nulová délka, obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných ZipArchiveEntry znaků, jak je definováno InvalidPathChars.

nebo

Extrahováním by ZipArchiveEntry došlo k cíli souboru, který je mimo cílový adresář (například kvůli nadřazeným přístupovým objektům adresáře).

nebo

A ZipArchiveEntry 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ý 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.

Poznámky

Pokud při extrahování archivu dojde k chybě, archiv zůstane částečně extrahovaný.

Každá položka se extrahuje tak, aby extrahovaný soubor má stejnou relativní cestu k destinationDirectoryName archivu jako položka.

destinationDirectoryName Parametry sourceArchiveFileName přijímají relativní i absolutní cesty. Relativní cesta se interpretuje jako relativní vzhledem k aktuálnímu pracovnímu adresáři.

Pokud je položka v archivu ZIP symbolický odkaz, extrahuje se jako běžná složka, protože symbolické informace o odkazu se nezachovají ve formátu ZIP. Pokud destinationDirectoryName nebo některý z jeho nadřazených adresářů je již existující spojení nebo symbolický odkaz, zapíše se odkaz a extrahování se zapíše do konečné cílové složky.

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).

Výstraha

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

ExtractToDirectory(Stream, String, Encoding, Boolean)

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

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 komentáře a volitelně umožňuje zvolit, jestli se mají soubory v cílovém adresáři přepsat.

public:
 static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding, bool overwriteFiles);
public static void ExtractToDirectory(System.IO.Stream source, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, bool overwriteFiles);
static member ExtractToDirectory : System.IO.Stream * string * System.Text.Encoding * bool -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String, entryNameEncoding As Encoding, overwriteFiles As Boolean)

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.

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.

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 je položka v archivu ZIP symbolický odkaz, extrahuje se jako běžná složka, protože symbolické informace o odkazu se nezachovají ve formátu ZIP. Pokud destinationDirectoryName nebo některý z jeho nadřazených adresářů je již existující spojení nebo symbolický odkaz, zapíše se odkaz a extrahování se zapíše do konečné cílové složky.

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).

Výstraha

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

ExtractToDirectory(String, String, Encoding)

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

Extrahuje všechny soubory v zadaném archivu zip do adresáře v systému souborů a použije zadané kódování znaků pro názvy položek a komentáře.

public:
 static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding);
public static void ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding entryNameEncoding);
public static void ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding);
static member ExtractToDirectory : string * string * System.Text.Encoding -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String, entryNameEncoding As Encoding)

Parametry

sourceArchiveFileName
String

Cesta k archivu, 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 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.

Výjimky

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

nebo

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

destinationDirectoryName nebo sourceArchiveFileName je null.

Zadaná cesta přesahuje destinationDirectoryName maximální sourceArchiveFileName 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 nebo sourceArchiveFileName obsahuje neplatný formát.

sourceArchiveFileName nebyl nalezen.

Archiv určený není platným archivem sourceArchiveFileName 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.

Poznámky

Tato metoda v případě potřeby vytvoří zadaný adresář a všechny podadresáře. Výjimky související s ověřováním cest v parametrech destinationDirectoryName nebo sourceArchiveFileName cest jsou vyvolány před extrakcí. 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 je položka v archivu ZIP symbolický odkaz, extrahuje se jako běžná složka, protože symbolické informace o odkazu se nezachovají ve formátu ZIP. Pokud destinationDirectoryName nebo některý z jeho nadřazených adresářů je již existující spojení nebo symbolický odkaz, zapíše se odkaz a extrahování se zapíše do konečné cílové složky.

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:

  • U položek, u kterých není nastaven příznak kódování jazyka (v příznaku bitu pro obecné účely hlavičky místního souboru), jsou názvy položek a komentáře dekódovány pomocí zadaného kódování.
  • Pro položky, kde je nastaven příznak kódování jazyka, jsou názvy položek a komentáře dekódovány pomocí UTF-8.

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 (v příznaku bitu pro obecné účely hlavičky místního souboru), jsou názvy položek a komentáře dekódovány pomocí aktuální výchozí znakové stránky systému.
  • Pro položky, kde je nastaven příznak kódování jazyka, jsou názvy položek a komentáře dekódovány pomocí UTF-8.

Výstraha

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

ExtractToDirectory(String, String, Boolean)

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

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

public:
 static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName, bool overwriteFiles);
public static void ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName, bool overwriteFiles);
static member ExtractToDirectory : string * string * bool -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String, overwriteFiles As Boolean)

Parametry

sourceArchiveFileName
String

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

destinationDirectoryName
String

Cesta k cílovému adresáři v systému souborů.

overwriteFiles
Boolean

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

Výjimky

sourceArchiveFileNamenebo destinationDirectoryName je řetězec nulové délky, obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných znaků definovaných .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.

Cesta zadaná sourceArchiveFileName nebo destinationDirectoryName neplatná (například je na nemapované jednotce).

overwriteFiles destinationDirectoryName obsahuje false soubor se stejným názvem jako extrahovaný soubor.

nebo

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

nebo

Název je nulová délka, obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných ZipArchiveEntry znaků, jak je definováno InvalidPathChars.

nebo

Extrahováním by ZipArchiveEntry došlo k cíli souboru, který je mimo cílový adresář (například kvůli nadřazeným přístupovým objektům adresáře).

nebo

A ZipArchiveEntry má stejný název jako položka ze stejného archivu, který už byl extrahován.

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ý ZipArchive.

nebo

Nebyla ZipArchiveEntry nalezena nebo byla poškozena.

nebo

Byl ZipArchiveEntry komprimován pomocí metody komprese, která není podporována.

Poznámky

Pokud při extrahování archivu dojde k chybě, archiv zůstane částečně extrahovaný.

Každá položka se extrahuje tak, aby extrahovaný soubor má stejnou relativní cestu k destinationDirectoryName archivu jako položka.

destinationDirectoryName Parametry sourceArchiveFileName přijímají relativní i absolutní cesty. Relativní cesta se interpretuje jako relativní vzhledem k aktuálnímu pracovnímu adresáři.

Pokud je položka v archivu ZIP symbolický odkaz, extrahuje se jako běžná složka, protože symbolické informace o odkazu se nezachovají ve formátu ZIP. Pokud destinationDirectoryName nebo některý z jeho nadřazených adresářů je již existující spojení nebo symbolický odkaz, zapíše se odkaz a extrahování se zapíše do konečné cílové složky.

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).

Výstraha

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

ExtractToDirectory(Stream, String, Boolean)

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

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í soubory v cílovém adresáři přepsat.

public:
 static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName, bool overwriteFiles);
public static void ExtractToDirectory(System.IO.Stream source, string destinationDirectoryName, bool overwriteFiles);
static member ExtractToDirectory : System.IO.Stream * string * bool -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String, overwriteFiles As Boolean)

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.

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.

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 je položka v archivu ZIP symbolický odkaz, extrahuje se jako běžná složka, protože symbolické informace o odkazu se nezachovají ve formátu ZIP. Pokud destinationDirectoryName nebo některý z jeho nadřazených adresářů je již existující spojení nebo symbolický odkaz, zapíše se odkaz a extrahování se zapíše do konečné cílové složky.

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).

Výstraha

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

ExtractToDirectory(String, String)

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

Extrahuje všechny soubory v zadaném archivu zip do adresáře v systému souborů.

public:
 static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName);
public static void ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName);
static member ExtractToDirectory : string * string -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String)

Parametry

sourceArchiveFileName
String

Cesta k archivu, 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.

Výjimky

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

destinationDirectoryName nebo sourceArchiveFileName je null.

Zadaná cesta přesahuje destinationDirectoryName maximální sourceArchiveFileName 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 nebo sourceArchiveFileName obsahuje neplatný formát.

sourceArchiveFileName nebyl nalezen.

Archiv určený není platným archivem sourceArchiveFileName 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.

Příklady

Tento příklad ukazuje, jak vytvořit a extrahovat archiv zip pomocí ZipFile třídy. Zkomprimuje obsah složky do archivu zip a extrahuje tento obsah do nové složky. Chcete-li použít ZipFile třídu, musíte odkazovat na System.IO.Compression.FileSystem sestavení v projektu.

using System;
using System.IO.Compression;

class Program
{
    static void Main(string[] args)
    {
        string startPath = @".\start";
        string zipPath = @".\result.zip";
        string extractPath = @".\extract";

        ZipFile.CreateFromDirectory(startPath, zipPath);

        ZipFile.ExtractToDirectory(zipPath, extractPath);
    }
}
open System.IO.Compression

let startPath = @".\start"
let zipPath = @".\result.zip"
let extractPath = @".\extract"

ZipFile.CreateFromDirectory(startPath, zipPath)

ZipFile.ExtractToDirectory(zipPath, extractPath)
Imports System.IO.Compression

Module Module1

    Sub Main()
        Dim startPath As String = ".\start"
        Dim zipPath As String = ".\result.zip"
        Dim extractPath As String = ".\extract"

        ZipFile.CreateFromDirectory(startPath, zipPath)

        ZipFile.ExtractToDirectory(zipPath, extractPath)
    End Sub

End Module

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 parametrech destinationDirectoryName nebo sourceArchiveFileName cest jsou vyvolány před extrakcí. 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 je položka v archivu ZIP symbolický odkaz, extrahuje se jako běžná složka, protože symbolické informace o odkazu se nezachovají ve formátu ZIP. Pokud destinationDirectoryName nebo některý z jeho nadřazených adresářů je již existující spojení nebo symbolický odkaz, zapíše se odkaz a extrahování se zapíše do konečné cílové složky.

Výstraha

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

ExtractToDirectory(Stream, String)

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

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 void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName);
public static void ExtractToDirectory(System.IO.Stream source, string destinationDirectoryName);
static member ExtractToDirectory : System.IO.Stream * string -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String)

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.

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.

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 je položka v archivu ZIP symbolický odkaz, extrahuje se jako běžná složka, protože symbolické informace o odkazu se nezachovají ve formátu ZIP. Pokud destinationDirectoryName nebo některý z jeho nadřazených adresářů je již existující spojení nebo symbolický odkaz, zapíše se odkaz a extrahování se zapíše do konečné cílové složky.

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).

Výstraha

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

ExtractToDirectory(Stream, String, Encoding)

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

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 a komentáře.

public:
 static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding);
public static void ExtractToDirectory(System.IO.Stream source, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding);
static member ExtractToDirectory : System.IO.Stream * string * System.Text.Encoding -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String, entryNameEncoding As Encoding)

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.

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.

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).

Výstraha

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