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í

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

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 zadané kódování znaků pro názvy položek.

ExtractToDirectory(String, String, Encoding, Boolean)

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 v tomto ZipArchivesouboru .

overwriteFiles
Boolean

true přepsat soubory; false Jinak.

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 nástrojem InvalidPathChars.

-nebo-

entryNameEncoding je nastavená 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 určená nástrojem sourceArchiveFileName nebo destinationDirectoryName je neplatná (například je na nemapované jednotce).

overwriteFiles je false a položka archivu, která se má extrahovat, má stejný název jako soubor, který již existuje v destinationDirectoryNamesouboru .

-nebo-

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

-nebo-

Název objektu má nulovou délku ZipArchiveEntry , obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných znaků definovaných nástrojem InvalidPathChars.

-nebo-

Extrahování objektu ZipArchiveEntry by vedlo k vytvoření cíle souboru, který je mimo cílový adresář (například kvůli nadřazeným adresářovým přistupům).

-nebo-

Objekt má ZipArchiveEntry 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 zadaný uživatelem 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ě extrahován.

Každá položka bude extrahována tak, aby extrahovaný soubor má stejnou relativní cestu k destinationDirectoryName souboru jako položka k archivu.

Parametry sourceArchiveFileName a destinationDirectoryName přijímají relativní i absolutní cesty. Relativní cesta je interpretována 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, které lze znázornit ve formátu časového razítka ZIP (půlnoc 1. ledna 1980).

Platí pro

ExtractToDirectory(Stream, String, Encoding, Boolean)

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

Datový proud, ze kterého se má extrahovat archiv zip.

destinationDirectoryName
String

Cesta k adresáři, do kterého se mají extrahované soubory umístit, zadaná jako relativní nebo absolutní cesta. Relativní cesta je interpretována 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 v tomto archivu. Hodnotu pro tento parametr zadejte pouze v případě, že je kódování vyžadováno pro interoperabilitu s nástroji zip archive a knihovnami, které nepodporují kódování UTF-8 pro názvy položek.

overwriteFiles
Boolean

true přepsat soubory; false Jinak.

Výjimky

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

-nebo-

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

destinationDirectoryName nebo source je null.

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

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

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

-nebo-

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

-nebo-

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

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ý v datovém source proudu není platným archivem 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ž nemůže existovat. Výjimky související s ověřováním cest v destinationDirectoryName souborech nebo souborech v archivu ZIP obsažených v source parametrech jsou vyvolány před extrakcí. Pokud při extrahování dojde k chybě, archiv zůstane částečně extrahován. Každý extrahovaný soubor má stejnou relativní cestu k adresáři určenému nástrojem destinationDirectoryName jako jeho zdrojová položka ke kořenovému adresáři archivu. Pokud má archivovaný soubor neplatný čas poslední změny, použije se první datum a čas, které lze znázornit ve formátu časového razítka ZIP (půlnoc 1. ledna 1980).

Platí pro

ExtractToDirectory(String, String, Encoding)

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.

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ý má být extrahován.

destinationDirectoryName
String

Cesta k adresáři, do kterého se mají extrahované soubory umístit, zadaná jako relativní nebo absolutní cesta. Relativní cesta je interpretována 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 v tomto archivu. Hodnotu pro tento parametr zadejte pouze v případě, že je kódování vyžadováno pro interoperabilitu s nástroji zip archive a knihovnami, které nepodporují kódování UTF-8 pro názvy položek.

Výjimky

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

-nebo-

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

destinationDirectoryName nebo sourceArchiveFileName je null.

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

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

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

-nebo-

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

-nebo-

Položka archivu, která se má extrahovat, má stejný název jako položka, která již byla extrahována nebo která existuje v destinationDirectoryNamesouboru .

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 zadaný nástrojem 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 jsou vyvolány před extrakcí. Pokud při extrahování dojde k chybě, archiv zůstane částečně extrahován. Každý extrahovaný soubor má stejnou relativní cestu k adresáři určenému nástrojem destinationDirectoryName jako jeho zdrojová položka ke kořenovému adresáři archivu.

Pokud entryNameEncoding je nastavená jiná hodnota než null, názvy položek se dekódují podle následujících pravidel:

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

Pokud entryNameEncoding je nastavená hodnota null, názvy položek se dekódují podle následujících pravidel:

  • U položek, u kterých není nastavený příznak kódování jazyka (v bitovém příznaku pro obecné účely v hlavičce místního souboru), jsou názvy položek dekódovány pomocí aktuální výchozí znakové stránky systému.
  • U položek, u kterých je nastaven příznak kódování jazyka, jsou názvy položek dekódovány pomocí UTF-8.

Platí pro

ExtractToDirectory(String, String, Boolean)

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řepsat soubory; false Jinak.

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 nástrojem 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 určená nástrojem sourceArchiveFileName nebo destinationDirectoryName je neplatná (například je na nemapované jednotce).

overwriteFiles je false a destinationDirectoryName již obsahuje soubor se stejným názvem jako soubor, který se extrahuje.

-nebo-

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

-nebo-

Název objektu má nulovou délku ZipArchiveEntry , obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných znaků definovaných nástrojem InvalidPathChars.

-nebo-

Extrahování objektu ZipArchiveEntry by vedlo k vytvoření cíle souboru, který je mimo cílový adresář (například kvůli nadřazeným adresářovým přistupům).

-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 zadaný uživatelem sourceArchiveFileName není platný ZipArchive.

-nebo-

Soubor ZipArchiveEntry nebyl nalezen nebo byl poškozen.

-nebo-

Soubor ZipArchiveEntry byl 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ě extrahován.

Každá položka bude extrahována tak, aby extrahovaný soubor má stejnou relativní cestu k destinationDirectoryName souboru jako položka k archivu.

Parametry sourceArchiveFileName a destinationDirectoryName přijímají relativní i absolutní cesty. Relativní cesta je interpretována 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, které lze znázornit ve formátu časového razítka ZIP (půlnoc 1. ledna 1980).

Platí pro

ExtractToDirectory(Stream, String, Boolean)

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

Datový proud, ze kterého se má extrahovat archiv zip.

destinationDirectoryName
String

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

overwriteFiles
Boolean

true přepsat soubory; false Jinak.

Výjimky

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

destinationDirectoryName nebo source je null.

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

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

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

-nebo-

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

-nebo-

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

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ý v datovém source proudu není platným archivem 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ž nemůže existovat. Výjimky související s ověřováním cest v destinationDirectoryName souborech nebo souborech v archivu ZIP obsažených v source parametrech jsou vyvolány před extrakcí. Pokud při extrahování dojde k chybě, archiv zůstane částečně extrahován. Každý extrahovaný soubor má stejnou relativní cestu k adresáři určenému nástrojem destinationDirectoryName jako jeho zdrojová položka ke kořenovému adresáři archivu. Pokud má archivovaný soubor neplatný čas poslední změny, použije se první datum a čas, které lze znázornit ve formátu časového razítka ZIP (půlnoc 1. ledna 1980).

Platí pro

ExtractToDirectory(String, String)

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ý má být extrahován.

destinationDirectoryName
String

Cesta k adresáři, do kterého se mají extrahované soubory umístit, zadaná jako relativní nebo absolutní cesta. Relativní cesta je interpretována 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 v destinationDirectoryName nebo sourceArchiveFileName překračuje maximální délku definovanou systémem.

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

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

-nebo-

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

-nebo-

Položka archivu, která se má extrahovat, má stejný název jako položka, která již byla extrahována nebo která existuje v destinationDirectoryNamesouboru .

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 zadaný nástrojem 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. Komprimuje 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ž nemůže existovat. Výjimky související s ověřováním cest v parametrech destinationDirectoryName nebo sourceArchiveFileName jsou vyvolány před extrakcí. Pokud při extrahování dojde k chybě, archiv zůstane částečně extrahován. Každý extrahovaný soubor má stejnou relativní cestu k adresáři určenému nástrojem destinationDirectoryName jako jeho zdrojová položka ke kořenovému adresáři archivu.

Platí pro

ExtractToDirectory(Stream, String)

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

Datový proud, ze kterého se má extrahovat archiv zip.

destinationDirectoryName
String

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

Výjimky

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

destinationDirectoryName nebo source je null.

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

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

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

-nebo-

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

-nebo-

Položka archivu, která se má extrahovat, má stejný název jako položka, která již byla extrahována nebo která existuje v destinationDirectoryNamesouboru .

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ý v datovém source proudu není platným archivem 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ž nemůže existovat. Výjimky související s ověřováním cest v destinationDirectoryName souborech nebo souborech v archivu ZIP obsažených v source parametrech jsou vyvolány před extrakcí. Pokud při extrahování dojde k chybě, archiv zůstane částečně extrahován. Každý extrahovaný soubor má stejnou relativní cestu k adresáři určenému nástrojem destinationDirectoryName jako jeho zdrojová položka ke kořenovému adresáři archivu. Pokud má archivovaný soubor neplatný čas poslední změny, použije se první datum a čas, které lze znázornit ve formátu časového razítka ZIP (půlnoc 1. ledna 1980).

Platí pro

ExtractToDirectory(Stream, String, Encoding)

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 zadané kódování znaků pro názvy položek.

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

Datový proud, ze kterého se má extrahovat archiv zip.

destinationDirectoryName
String

Cesta k adresáři, do kterého se mají extrahované soubory umístit, zadaná jako relativní nebo absolutní cesta. Relativní cesta je interpretována 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 v tomto archivu. Hodnotu pro tento parametr zadejte pouze v případě, že je kódování vyžadováno pro interoperabilitu s nástroji zip archive a knihovnami, které nepodporují kódování UTF-8 pro názvy položek.

Výjimky

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

-nebo-

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

destinationDirectoryName nebo source je null.

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

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

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

-nebo-

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

-nebo-

Položka archivu, která se má extrahovat, má stejný název jako položka, která již byla extrahována nebo která existuje v destinationDirectoryNamesouboru .

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ý v datovém source proudu není platným archivem 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ž nemůže existovat. Výjimky související s ověřováním cest v destinationDirectoryName souborech nebo souborech v archivu ZIP obsažených v source parametrech jsou vyvolány před extrakcí. Pokud při extrahování dojde k chybě, archiv zůstane částečně extrahován. Každý extrahovaný soubor má stejnou relativní cestu k adresáři určenému nástrojem destinationDirectoryName jako jeho zdrojová položka ke kořenovému adresáři archivu. Pokud má archivovaný soubor neplatný čas poslední změny, použije se první datum a čas, které lze znázornit ve formátu časového razítka ZIP (půlnoc 1. ledna 1980).

Platí pro