ZipFile.ExtractToDirectory Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
sourceArchiveFileName
lub 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 destinationDirectoryName
polecenie . (Na przykład może się to zdarzyć, jeśli nazwa wpisu zawiera metody dostępu do katalogu nadrzędnego).
-lub-
overwriteFiles
to 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 destinationDirectoryName
polecenie . (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
sourceArchiveFileName
lub 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 destinationDirectoryName
polecenie . (Na przykład może się to zdarzyć, jeśli nazwa wpisu zawiera metody dostępu do katalogu nadrzędnego).
-lub-
overwriteFiles
to 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 destinationDirectoryName
polecenie . (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.).