Udostępnij za pośrednictwem


ZipFile.ExtractToDirectory Metoda

Definicja

Wyodrębnia wszystkie pliki z określonego archiwum zip do katalogu w systemie plików.

Przeciążenia

ExtractToDirectory(String, String, Encoding, Boolean)

Wyodrębnia wszystkie pliki z określonego archiwum do katalogu w systemie plików.

ExtractToDirectory(Stream, String, Encoding, Boolean)

Wyodrębnia wszystkie pliki z archiwum zip przechowywanego w określonym strumieniu i umieszcza je w określonym katalogu docelowym w systemie plików, używa określonego kodowania znaków dla nazw wpisów i opcjonalnie umożliwia wybranie, czy pliki w katalogu docelowym powinny zostać zastąpione.

ExtractToDirectory(String, String, Encoding)

Wyodrębnia wszystkie pliki z określonego archiwum zip do katalogu w systemie plików i używa określonego kodowania znaków dla nazw wpisów.

ExtractToDirectory(String, String, Boolean)

Wyodrębnia wszystkie pliki z określonego archiwum do katalogu w systemie plików.

ExtractToDirectory(Stream, String, Boolean)

Wyodrębnia wszystkie pliki z archiwum zip przechowywanego w określonym strumieniu i umieszcza je w określonym katalogu docelowym w systemie plików, a opcjonalnie umożliwia wybranie, czy pliki w katalogu docelowym powinny zostać zastąpione.

ExtractToDirectory(String, String)

Wyodrębnia wszystkie pliki z określonego archiwum zip do katalogu w systemie plików.

ExtractToDirectory(Stream, String)

Wyodrębnia wszystkie pliki z archiwum zip przechowywanego w określonym strumieniu i umieszcza je w określonym katalogu docelowym w systemie plików.

ExtractToDirectory(Stream, String, Encoding)

Wyodrębnia wszystkie pliki z archiwum zip przechowywanego w określonym strumieniu i umieszcza je w określonym katalogu docelowym w systemie plików i używa określonego kodowania znaków dla nazw wpisów.

ExtractToDirectory(String, String, Encoding, Boolean)

Źródło:
ZipFile.Extract.cs
Źródło:
ZipFile.Extract.cs
Źródło:
ZipFile.Extract.cs

Wyodrębnia wszystkie pliki z określonego archiwum do katalogu w systemie plików.

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

Ścieżka w systemie plików do archiwum, które ma zostać wyodrębnione.

destinationDirectoryName
String

Ścieżka do katalogu docelowego w systemie plików.

entryNameEncoding
Encoding

Kodowanie używane podczas odczytywania nazw wpisów w tym ZipArchivepliku .

overwriteFiles
Boolean

true aby zastąpić pliki; false Inaczej.

Wyjątki

sourceArchiveFileNamelub destinationDirectoryName jest ciągiem o zerowej długości, zawiera tylko biały znak lub zawiera jeden lub więcej nieprawidłowych znaków zdefiniowanych przez .InvalidPathChars

-lub-

entryNameEncoding jest ustawiona na kodowanie Unicode inne niż UTF-8.

sourceArchiveFileName lub destinationDirectoryName ma wartość null.

sourceArchiveFileName lub destinationDirectoryName określa ścieżkę, nazwę pliku lub oba, które przekraczają maksymalną długość zdefiniowaną przez system.

Ścieżka określona przez sourceArchiveFileName lub destinationDirectoryName jest nieprawidłowa (na przykład znajduje się na niezamapowanym dysku).

overwriteFiles to false i wpis archiwum do wyodrębnienia ma taką samą nazwę jak plik, który już istnieje w pliku destinationDirectoryName.

-lub-

Wystąpił błąd we/wy.

-lub-

Nazwa elementu ZipArchiveEntry to zero-length, zawiera tylko białe znaki lub zawiera jeden lub więcej nieprawidłowych znaków zdefiniowanych przez InvalidPathChars.

-lub-

Wyodrębnienie ZipArchiveEntry elementu spowoduje utworzenie miejsca docelowego pliku spoza katalogu docelowego (na przykład ze względu na metody dostępu do katalogu nadrzędnego).

-lub-

Obiekt ZipArchiveEntry ma taką samą nazwę jak już wyodrębniony wpis z tego samego archiwum.

Obiekt wywołujący nie posiada wymaganych uprawnień.

sourceArchiveFileName lub destinationDirectoryName jest w nieprawidłowym formacie.

sourceArchiveFileName nie można odnaleźć.

Archiwum określone przez sourceArchiveFileName element nie jest prawidłowym ZipArchiveelementem .

-lub-

Nie można odnaleźć wpisu archiwum lub został uszkodzony.

-lub-

Wpis archiwum został skompresowany przy użyciu metody kompresji, która nie jest obsługiwana.

Uwagi

Jeśli podczas wyodrębniania archiwum wystąpi błąd, archiwum pozostanie częściowo wyodrębnione.

Każdy wpis zostanie wyodrębniony w taki sposób, że wyodrębniony plik ma taką samą ścieżkę względną do destinationDirectoryName obiektu , co wpis musi zostać zarchiwizowany.

Parametry sourceArchiveFileName i destinationDirectoryName akceptują ścieżki względne i bezwzględne. Ścieżka względna jest interpretowana jako względna względem bieżącego katalogu roboczego.

Jeśli plik do archiwizacji ma nieprawidłowy czas ostatniej modyfikacji, zostanie użyta pierwsza data i godzina w formacie znacznika czasu zip (północ 1 stycznia 1980 r.).

Dotyczy

ExtractToDirectory(Stream, String, Encoding, Boolean)

Źródło:
ZipFile.Extract.cs
Źródło:
ZipFile.Extract.cs

Wyodrębnia wszystkie pliki z archiwum zip przechowywanego w określonym strumieniu i umieszcza je w określonym katalogu docelowym w systemie plików, używa określonego kodowania znaków dla nazw wpisów i opcjonalnie umożliwia wybranie, czy pliki w katalogu docelowym powinny zostać zastąpione.

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

Strumień, z którego ma zostać wyodrębnione archiwum zip.

destinationDirectoryName
String

Ścieżka do katalogu, w którym mają być przechowywane wyodrębnione pliki, określone jako ścieżka względna lub bezwzględna. Ścieżka względna jest interpretowana jako względna względem bieżącego katalogu roboczego.

entryNameEncoding
Encoding

Kodowanie używane podczas odczytywania lub zapisywania nazw wpisów w tym archiwum. Określ wartość dla tego parametru tylko wtedy, gdy kodowanie jest wymagane do współdziałania z narzędziami archiwum zip i bibliotekami, które nie obsługują kodowania UTF-8 dla nazw wpisów.

overwriteFiles
Boolean

true aby zastąpić pliki; false Inaczej.

Wyjątki

destinationDirectoryName> to Empty, zawiera tylko białe znaki lub zawiera co najmniej jeden nieprawidłowy znak.

-lub-

entryNameEncoding jest ustawiona na kodowanie Unicode inne niż UTF-8.

destinationDirectoryName lub source ma wartość null.

Określona ścieżka w destinationDirectoryName parametrze przekracza maksymalną długość zdefiniowaną przez system.

Określona ścieżka jest nieprawidłowa (na przykład znajduje się na niezamapowanym dysku).

Nazwa wpisu w archiwum to Empty, zawiera tylko białe znaki lub zawiera co najmniej jeden nieprawidłowy znak.

-lub-

Wyodrębnienie wpisu archiwum spowoduje utworzenie pliku spoza katalogu określonego przez destinationDirectoryNamepolecenie . (Na przykład może się to zdarzyć, jeśli nazwa wpisu zawiera metody dostępu do katalogu nadrzędnego).

-lub-

overwriteFilesto i false wpis archiwum do wyodrębnienia ma taką samą nazwę jak wpis, który został już wyodrębniony lub który istnieje w .destinationDirectoryName

Obiekt wywołujący nie ma wymaganych uprawnień dostępu do archiwum lub katalogu docelowego.

destinationDirectoryName zawiera nieprawidłowy format.

Archiwum zawarte w strumieniu source nie jest prawidłowym archiwum zip.

-lub-

Nie można odnaleźć wpisu archiwum lub został uszkodzony.

-lub-

Wpis archiwum został skompresowany przy użyciu metody kompresji, która nie jest obsługiwana.

Uwagi

Ta metoda tworzy określony katalog i wszystkie podkatalogi. Katalog docelowy nie może już istnieć. Przed wyodrębnieniem są zgłaszane wyjątki związane z weryfikowaniem ścieżek w destinationDirectoryName pliku lub w archiwum zip zawartym w source parametrach. W przeciwnym razie, jeśli wystąpi błąd podczas wyodrębniania, archiwum pozostaje częściowo wyodrębnione. Każdy wyodrębniony plik ma taką samą ścieżkę względną do katalogu określonego przez destinationDirectoryName , ponieważ jego wpis źródłowy musi być katalogem głównym archiwum. Jeśli plik do archiwizacji ma nieprawidłowy czas ostatniej modyfikacji, zostanie użyta pierwsza data i godzina w formacie znacznika czasu zip (północ 1 stycznia 1980 r.).

Dotyczy

ExtractToDirectory(String, String, Encoding)

Źródło:
ZipFile.Extract.cs
Źródło:
ZipFile.Extract.cs
Źródło:
ZipFile.Extract.cs

Wyodrębnia wszystkie pliki z określonego archiwum zip do katalogu w systemie plików i używa określonego kodowania znaków dla nazw wpisów.

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

Ścieżka do archiwum, które ma zostać wyodrębnione.

destinationDirectoryName
String

Ścieżka do katalogu, w którym mają być przechowywane wyodrębnione pliki, określone jako ścieżka względna lub bezwzględna. Ścieżka względna jest interpretowana jako względna względem bieżącego katalogu roboczego.

entryNameEncoding
Encoding

Kodowanie używane podczas odczytywania lub zapisywania nazw wpisów w tym archiwum. Określ wartość dla tego parametru tylko wtedy, gdy kodowanie jest wymagane do współdziałania z narzędziami archiwum zip i bibliotekami, które nie obsługują kodowania UTF-8 dla nazw wpisów.

Wyjątki

destinationDirectoryName lub sourceArchiveFileName jest Emptyznakiem , zawiera tylko białe znaki lub zawiera co najmniej jeden nieprawidłowy znak.

-lub-

entryNameEncoding jest ustawiona na kodowanie Unicode inne niż UTF-8.

destinationDirectoryName lub sourceArchiveFileName ma wartość null.

Określona ścieżka w destinationDirectoryName lub sourceArchiveFileName przekracza maksymalną długość zdefiniowaną przez system.

Określona ścieżka jest nieprawidłowa (na przykład znajduje się na niezamapowanym dysku).

Nazwa wpisu w archiwum to Empty, zawiera tylko białe znaki lub zawiera co najmniej jeden nieprawidłowy znak.

-lub-

Wyodrębnienie wpisu archiwum spowoduje utworzenie pliku spoza katalogu określonego przez destinationDirectoryNamepolecenie . (Na przykład może się to zdarzyć, jeśli nazwa wpisu zawiera metody dostępu do katalogu nadrzędnego).

-lub-

Wpis archiwum do wyodrębnienia ma taką samą nazwę jak wpis, który został już wyodrębniony lub który istnieje w pliku destinationDirectoryName.

Obiekt wywołujący nie ma wymaganych uprawnień dostępu do archiwum lub katalogu docelowego.

destinationDirectoryName lub sourceArchiveFileName zawiera nieprawidłowy format.

sourceArchiveFileName nie można odnaleźć.

Archiwum określone przez sourceArchiveFileName program nie jest prawidłowym archiwum zip.

-lub-

Nie można odnaleźć wpisu archiwum lub został uszkodzony.

-lub-

Wpis archiwum został skompresowany przy użyciu metody kompresji, która nie jest obsługiwana.

Uwagi

Ta metoda tworzy określony katalog i wszystkie podkatalogi, jeśli to konieczne. Wyjątki związane z walidacją ścieżek w destinationDirectoryName parametrach lub sourceArchiveFileName są zgłaszane przed wyodrębnianiem. W przeciwnym razie, jeśli wystąpi błąd podczas wyodrębniania, archiwum pozostaje częściowo wyodrębnione. Każdy wyodrębniony plik ma taką samą ścieżkę względną do katalogu określonego przez destinationDirectoryName , ponieważ jego wpis źródłowy musi być katalogem głównym archiwum.

Jeśli entryNameEncoding parametr jest ustawiony na wartość inną niż null, nazwy wpisów są dekodowane zgodnie z następującymi regułami:

  • W przypadku nazw wpisów, w których flaga kodowania języka (w flagi bitowej ogólnego przeznaczenia nagłówka pliku lokalnego) nie jest ustawiona, nazwy wpisów są dekodowane przy użyciu określonego kodowania.
  • W przypadku wpisów, w których ustawiono flagę kodowania języka, nazwy wpisów są dekodowane przy użyciu protokołu UTF-8.

Jeśli entryNameEncoding ustawiono wartość null, nazwy wpisów są dekodowane zgodnie z następującymi regułami:

  • W przypadku wpisów, w których flaga kodowania języka (w flagi bitowej ogólnego przeznaczenia nagłówka pliku lokalnego) nie jest ustawiona, nazwy wpisów są dekodowane przy użyciu bieżącej domyślnej strony kodowej systemu.
  • W przypadku wpisów, w których ustawiono flagę kodowania języka, nazwy wpisów są dekodowane przy użyciu protokołu UTF-8.

Dotyczy

ExtractToDirectory(String, String, Boolean)

Źródło:
ZipFile.Extract.cs
Źródło:
ZipFile.Extract.cs
Źródło:
ZipFile.Extract.cs

Wyodrębnia wszystkie pliki z określonego archiwum do katalogu w systemie plików.

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

Ścieżka w systemie plików do archiwum, które ma zostać wyodrębnione.

destinationDirectoryName
String

Ścieżka do katalogu docelowego w systemie plików.

overwriteFiles
Boolean

true aby zastąpić pliki; false Inaczej.

Wyjątki

sourceArchiveFileNamelub destinationDirectoryName jest ciągiem o zerowej długości, zawiera tylko biały znak lub zawiera jeden lub więcej nieprawidłowych znaków zdefiniowanych przez .InvalidPathChars

sourceArchiveFileName lub destinationDirectoryName ma wartość null.

sourceArchiveFileName lub destinationDirectoryName określa ścieżkę, nazwę pliku lub oba, które przekraczają maksymalną długość zdefiniowaną przez system.

Ścieżka określona przez sourceArchiveFileName lub destinationDirectoryName jest nieprawidłowa (na przykład znajduje się na niezamapowanym dysku).

overwriteFiles jest false i destinationDirectoryName już zawiera plik o tej samej nazwie co wyodrębniony plik.

-lub-

Wystąpił błąd we/wy.

-lub-

Nazwa elementu ZipArchiveEntry to zero-length, zawiera tylko białe znaki lub zawiera jeden lub więcej nieprawidłowych znaków zdefiniowanych przez InvalidPathChars.

-lub-

Wyodrębnienie ZipArchiveEntry elementu spowoduje utworzenie miejsca docelowego pliku spoza katalogu docelowego (na przykład ze względu na metody dostępu do katalogu nadrzędnego).

-lub-

Obiekt ZipArchiveEntry ma taką samą nazwę jak wpis z tego samego archiwum, który został już wyodrębniony.

Obiekt wywołujący nie posiada wymaganych uprawnień.

sourceArchiveFileName lub destinationDirectoryName jest w nieprawidłowym formacie.

sourceArchiveFileName nie można odnaleźć.

Archiwum określone przez sourceArchiveFileName element nie jest prawidłowym ZipArchiveelementem .

-lub-

Nie ZipArchiveEntry można odnaleźć pliku lub był uszkodzony.

-lub-

Element ZipArchiveEntry został skompresowany przy użyciu metody kompresji, która nie jest obsługiwana.

Uwagi

Jeśli podczas wyodrębniania archiwum wystąpi błąd, archiwum pozostanie częściowo wyodrębnione.

Każdy wpis zostanie wyodrębniony w taki sposób, że wyodrębniony plik ma taką samą ścieżkę względną do destinationDirectoryName obiektu , co wpis musi zostać zarchiwizowany.

Parametry sourceArchiveFileName i destinationDirectoryName akceptują ścieżki względne i bezwzględne. Ścieżka względna jest interpretowana jako względna względem bieżącego katalogu roboczego.

Jeśli plik do archiwizacji ma nieprawidłowy czas ostatniej modyfikacji, zostanie użyta pierwsza data i godzina w formacie znacznika czasu zip (północ 1 stycznia 1980 r.).

Dotyczy

ExtractToDirectory(Stream, String, Boolean)

Źródło:
ZipFile.Extract.cs
Źródło:
ZipFile.Extract.cs

Wyodrębnia wszystkie pliki z archiwum zip przechowywanego w określonym strumieniu i umieszcza je w określonym katalogu docelowym w systemie plików, a opcjonalnie umożliwia wybranie, czy pliki w katalogu docelowym powinny zostać zastąpione.

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

Strumień, z którego ma zostać wyodrębnione archiwum zip.

destinationDirectoryName
String

Ścieżka do katalogu, w którym mają być przechowywane wyodrębnione pliki, określone jako ścieżka względna lub bezwzględna. Ścieżka względna jest interpretowana jako względna względem bieżącego katalogu roboczego.

overwriteFiles
Boolean

true aby zastąpić pliki; false Inaczej.

Wyjątki

destinationDirectoryName> to Empty, zawiera tylko białe znaki lub zawiera co najmniej jeden nieprawidłowy znak.

destinationDirectoryName lub source ma wartość null.

Określona ścieżka w destinationDirectoryName parametrze przekracza maksymalną długość zdefiniowaną przez system.

Określona ścieżka jest nieprawidłowa (na przykład znajduje się na niezamapowanym dysku).

Nazwa wpisu w archiwum to Empty, zawiera tylko białe znaki lub zawiera co najmniej jeden nieprawidłowy znak.

-lub-

Wyodrębnienie wpisu archiwum spowoduje utworzenie pliku spoza katalogu określonego przez destinationDirectoryNamepolecenie . (Na przykład może się to zdarzyć, jeśli nazwa wpisu zawiera metody dostępu do katalogu nadrzędnego).

-lub-

overwriteFilesto i false wpis archiwum do wyodrębnienia ma taką samą nazwę jak wpis, który został już wyodrębniony lub który istnieje w .destinationDirectoryName

Obiekt wywołujący nie ma wymaganych uprawnień dostępu do archiwum lub katalogu docelowego.

destinationDirectoryName zawiera nieprawidłowy format.

Archiwum zawarte w strumieniu source nie jest prawidłowym archiwum zip.

-lub-

Nie można odnaleźć wpisu archiwum lub został uszkodzony.

-lub-

Wpis archiwum został skompresowany przy użyciu metody kompresji, która nie jest obsługiwana.

Uwagi

Ta metoda tworzy określony katalog i wszystkie podkatalogi. Katalog docelowy nie może już istnieć. Przed wyodrębnieniem są zgłaszane wyjątki związane z weryfikowaniem ścieżek w destinationDirectoryName pliku lub w archiwum zip zawartym w source parametrach. W przeciwnym razie, jeśli wystąpi błąd podczas wyodrębniania, archiwum pozostaje częściowo wyodrębnione. Każdy wyodrębniony plik ma taką samą ścieżkę względną do katalogu określonego przez destinationDirectoryName , ponieważ jego wpis źródłowy musi być katalogem głównym archiwum. Jeśli plik do archiwizacji ma nieprawidłowy czas ostatniej modyfikacji, zostanie użyta pierwsza data i godzina w formacie znacznika czasu zip (północ 1 stycznia 1980 r.).

Dotyczy

ExtractToDirectory(String, String)

Źródło:
ZipFile.Extract.cs
Źródło:
ZipFile.Extract.cs
Źródło:
ZipFile.Extract.cs

Wyodrębnia wszystkie pliki z określonego archiwum zip do katalogu w systemie plików.

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

Ścieżka do archiwum, które ma zostać wyodrębnione.

destinationDirectoryName
String

Ścieżka do katalogu, w którym mają być umieszczane wyodrębnione pliki, określone jako ścieżka względna lub bezwzględna. Ścieżka względna jest interpretowana jako względna względem bieżącego katalogu roboczego.

Wyjątki

destinationDirectoryName lub sourceArchiveFileName jest Emptyznakiem , zawiera tylko białe znaki lub zawiera co najmniej jeden nieprawidłowy znak.

destinationDirectoryName lub sourceArchiveFileName ma wartość null.

Określona ścieżka w destinationDirectoryName lub sourceArchiveFileName przekracza maksymalną długość zdefiniowaną przez system.

Określona ścieżka jest nieprawidłowa (na przykład znajduje się na niezamapowanym dysku).

Nazwa wpisu w archiwum to Empty, zawiera tylko białe znaki lub zawiera co najmniej jeden nieprawidłowy znak.

-lub-

Wyodrębnienie wpisu archiwum spowoduje utworzenie pliku spoza katalogu określonego przez destinationDirectoryNamepolecenie . (Na przykład może się to zdarzyć, jeśli nazwa wpisu zawiera metody dostępu do katalogu nadrzędnego).

-lub-

Wpis archiwum do wyodrębnienia ma taką samą nazwę jak wpis, który został już wyodrębniony lub który istnieje w pliku destinationDirectoryName.

Obiekt wywołujący nie ma wymaganych uprawnień dostępu do archiwum lub katalogu docelowego.

destinationDirectoryName lub sourceArchiveFileName zawiera nieprawidłowy format.

sourceArchiveFileName nie można odnaleźć.

Archiwum określone przez sourceArchiveFileName program nie jest prawidłowym archiwum zip.

-lub-

Nie można odnaleźć wpisu archiwum lub został uszkodzony.

-lub-

Wpis archiwum został skompresowany przy użyciu metody kompresji, która nie jest obsługiwana.

Przykłady

W tym przykładzie pokazano, jak utworzyć i wyodrębnić archiwum zip przy użyciu ZipFile klasy . Kompresuje zawartość folderu do archiwum zip i wyodrębnia ją do nowego folderu. Aby użyć ZipFile klasy , należy odwołać się do System.IO.Compression.FileSystem zestawu w projekcie.

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

Uwagi

Ta metoda tworzy określony katalog i wszystkie podkatalogi. Katalog docelowy nie może już istnieć. Wyjątki związane z walidacją ścieżek w destinationDirectoryName parametrach lub sourceArchiveFileName są zgłaszane przed wyodrębnianiem. W przeciwnym razie, jeśli podczas wyodrębniania wystąpi błąd, archiwum pozostaje częściowo wyodrębnione. Każdy wyodrębniony plik ma tę samą ścieżkę względną do katalogu określonego przez destinationDirectoryName jego wpis źródłowy musi mieć katalog główny archiwum.

Dotyczy

ExtractToDirectory(Stream, String)

Źródło:
ZipFile.Extract.cs
Źródło:
ZipFile.Extract.cs

Wyodrębnia wszystkie pliki z archiwum zip przechowywanego w określonym strumieniu i umieszcza je w określonym katalogu docelowym w systemie plików.

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

Strumień, z którego ma zostać wyodrębnione archiwum zip.

destinationDirectoryName
String

Ścieżka do katalogu, w którym mają być umieszczane wyodrębnione pliki, określone jako ścieżka względna lub bezwzględna. Ścieżka względna jest interpretowana jako względna względem bieżącego katalogu roboczego.

Wyjątki

destinationDirectoryName> to Empty, zawiera tylko białe znaki lub zawiera co najmniej jeden nieprawidłowy znak.

destinationDirectoryName lub source to null.

Określona ścieżka w destinationDirectoryName obiekcie przekracza maksymalną długość zdefiniowaną przez system.

Określona ścieżka jest nieprawidłowa (na przykład znajduje się na niezamapowanym dysku).

Nazwa wpisu w archiwum to Empty, zawiera tylko białe znaki lub zawiera co najmniej jeden nieprawidłowy znak.

-lub-

Wyodrębnienie wpisu archiwum spowoduje utworzenie pliku spoza katalogu określonego przez destinationDirectoryName. (Na przykład może się to zdarzyć, jeśli nazwa wpisu zawiera metody dostępu katalogu nadrzędnego).

-lub-

Wpis archiwum do wyodrębnienia ma taką samą nazwę jak wpis, który został już wyodrębniony lub istnieje w pliku destinationDirectoryName.

Obiekt wywołujący nie ma wymaganych uprawnień dostępu do archiwum ani katalogu docelowego.

destinationDirectoryName zawiera nieprawidłowy format.

Archiwum zawarte w strumieniu source nie jest prawidłowym archiwum zip.

-lub-

Nie znaleziono wpisu archiwum lub został uszkodzony.

-lub-

Wpis archiwum został skompresowany przy użyciu metody kompresji, która nie jest obsługiwana.

Uwagi

Ta metoda tworzy określony katalog i wszystkie podkatalogi. Katalog docelowy nie może już istnieć. Wyjątki związane z walidacją ścieżek w destinationDirectoryName plikach lub w archiwum zip zawartym w source parametrach są zgłaszane przed wyodrębnianiem. W przeciwnym razie, jeśli podczas wyodrębniania wystąpi błąd, archiwum pozostaje częściowo wyodrębnione. Każdy wyodrębniony plik ma tę samą ścieżkę względną do katalogu określonego przez destinationDirectoryName jego wpis źródłowy musi mieć katalog główny archiwum. Jeśli plik do zarchiwizowania ma nieprawidłowy czas ostatniej modyfikacji, zostanie użyta pierwsza data i godzina w formacie sygnatury czasowej zip (północ 1 stycznia 1980 r.).

Dotyczy

ExtractToDirectory(Stream, String, Encoding)

Źródło:
ZipFile.Extract.cs
Źródło:
ZipFile.Extract.cs

Wyodrębnia wszystkie pliki z archiwum zip przechowywanego w określonym strumieniu i umieszcza je w określonym katalogu docelowym w systemie plików i używa określonego kodowania znaków dla nazw wpisów.

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

Strumień, z którego ma zostać wyodrębnione archiwum zip.

destinationDirectoryName
String

Ścieżka do katalogu, w którym mają być umieszczane wyodrębnione pliki, określone jako ścieżka względna lub bezwzględna. Ścieżka względna jest interpretowana jako względna względem bieżącego katalogu roboczego.

entryNameEncoding
Encoding

Kodowanie do użycia podczas odczytywania lub zapisywania nazw wpisów w tym archiwum. Określ wartość tego parametru tylko wtedy, gdy kodowanie jest wymagane do współdziałania z narzędziami archiwum zip i bibliotekami, które nie obsługują kodowania UTF-8 dla nazw wpisów.

Wyjątki

destinationDirectoryName> to Empty, zawiera tylko białe znaki lub zawiera co najmniej jeden nieprawidłowy znak.

-lub-

entryNameEncoding jest ustawiona na kodowanie Unicode inne niż UTF-8.

destinationDirectoryName lub source to null.

Określona ścieżka w destinationDirectoryName obiekcie przekracza maksymalną długość zdefiniowaną przez system.

Określona ścieżka jest nieprawidłowa (na przykład znajduje się na niezamapowanym dysku).

Nazwa wpisu w archiwum to Empty, zawiera tylko białe znaki lub zawiera co najmniej jeden nieprawidłowy znak.

-lub-

Wyodrębnienie wpisu archiwum spowoduje utworzenie pliku spoza katalogu określonego przez destinationDirectoryName. (Na przykład może się to zdarzyć, jeśli nazwa wpisu zawiera metody dostępu katalogu nadrzędnego).

-lub-

Wpis archiwum do wyodrębnienia ma taką samą nazwę jak wpis, który został już wyodrębniony lub istnieje w pliku destinationDirectoryName.

Obiekt wywołujący nie ma wymaganych uprawnień dostępu do archiwum ani katalogu docelowego.

destinationDirectoryName zawiera nieprawidłowy format.

Archiwum zawarte w strumieniu source nie jest prawidłowym archiwum zip.

-lub-

Nie znaleziono wpisu archiwum lub został uszkodzony.

-lub-

Wpis archiwum został skompresowany przy użyciu metody kompresji, która nie jest obsługiwana.

Uwagi

Ta metoda tworzy określony katalog i wszystkie podkatalogi. Katalog docelowy nie może już istnieć. Wyjątki związane z walidacją ścieżek w destinationDirectoryName plikach lub w archiwum zip zawartym w source parametrach są zgłaszane przed wyodrębnianiem. W przeciwnym razie, jeśli podczas wyodrębniania wystąpi błąd, archiwum pozostaje częściowo wyodrębnione. Każdy wyodrębniony plik ma tę samą ścieżkę względną do katalogu określonego przez destinationDirectoryName jego wpis źródłowy musi mieć katalog główny archiwum. Jeśli plik do zarchiwizowania ma nieprawidłowy czas ostatniej modyfikacji, zostanie użyta pierwsza data i godzina w formacie sygnatury czasowej zip (północ 1 stycznia 1980 r.).

Dotyczy