Język

ZipFileExtensions.ExtractToDirectoryAsync Metoda

Definicja

Wyodrębnia wszystkie pliki z archiwum do katalogu w systemie plików. Określony katalog może już istnieć.

Przeciążenia

Nazwisko Opis
ExtractToDirectoryAsync(ZipArchive, String, CancellationToken)

Asynchronicznie wyodrębnia wszystkie pliki z archiwum do katalogu w systemie plików. Określony katalog może już istnieć.

ExtractToDirectoryAsync(ZipArchive, String, Boolean, CancellationToken)

Wyodrębnia wszystkie pliki z archiwum do katalogu w systemie plików. Określony katalog może już istnieć.

ExtractToDirectoryAsync(ZipArchive, String, ZipExtractionOptions, CancellationToken)

ExtractToDirectoryAsync(ZipArchive, String, CancellationToken)

Źródło:
ZipFileExtensions.ZipArchive.Extract.Async.cs
Źródło:
ZipFileExtensions.ZipArchive.Extract.Async.cs

Asynchronicznie wyodrębnia wszystkie pliki z archiwum do katalogu w systemie plików. Określony katalog może już istnieć.

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

Parametry

source
ZipArchive

Archiwum zip do wyodrębniania plików.

destinationDirectoryName
String

Ścieżka do katalogu w systemie plików. Katalog może już istnieć. Brakujące katalogi są tworzone zgodnie z potrzebami podczas wyodrębniania wpisów.

cancellationToken
CancellationToken

Token anulowania do monitorowania żądań anulowania.

Zwraca

Wyjątki

destinationDirectoryName jest ciągiem o zerowej długości, zawiera tylko białe znaki lub zawiera co najmniej jeden nieprawidłowy znak zdefiniowany przez InvalidPathChars.

Parametr destinationDirectoryName ma wartość null.

Określona ścieżka, nazwa pliku lub obie metody przekraczają maksymalną długość zdefiniowaną przez system. Na przykład na platformach opartych na systemie Windows ścieżki muszą być mniejsze niż 248 znaków, a nazwy plików muszą być mniejsze niż 260 znaków.

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

Nazwa wpisu archiwum to zero-length, zawiera tylko biały znak lub zawiera jeden lub więcej nieprawidłowych znaków zdefiniowanych przez InvalidPathChars.

— lub —

Wyodrębnienie wpisu archiwum spowodowałoby, że plik docelowy znajduje się poza destinationDirectoryName (na przykład jeśli nazwa wpisu zawiera metody dostępu do katalogu nadrzędnego).

— lub —

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

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

destinationDirectoryName jest w nieprawidłowym formacie.

Nie znaleziono wpisu archiwum lub jest on uszkodzony.

— lub —

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

Operacja asynchroniczna jest anulowana.

Uwagi

Warning

Ta metoda nie może służyć do wyodrębniania niezaufanych archiwów. Nie wymusza żadnych limitów rozmiaru, limitów liczby wpisów ani innych zasad potrzebnych do bezpiecznego wyodrębniania niezaufanych archiwów. Aby uzyskać więcej informacji na temat bezpiecznego wyodrębniania archiwów z niezaufanych źródeł, zobacz Najlepsze rozwiązania dotyczące korzystania z archiwów zip i tar.

Katalog określony przez destinationDirectoryName program może już istnieć. Ta metoda tworzy katalog docelowy, jego brakujące katalogi nadrzędne i podkatalogi zgodnie z potrzebami podczas wyodrębniania wpisów. Jeśli archiwum jest puste, ta metoda nie tworzy katalogu docelowego.

Ścieżka może określać informacje o ścieżce względnej lub bezwzględnej. Informacje o ścieżce względnej są interpretowane jako względem bieżącego katalogu roboczego.

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

Każdy wpis jest wyodrębniany, tak aby wyodrębniony plik miał taką samą ścieżkę względną, do destinationDirectoryName której wpis musi pochodzić z katalogu głównego archiwum. Jeśli plik do zarchiwizowania ma nieprawidłową godzinę ostatniej modyfikacji, zostanie użyty pierwszy format znacznika czasu (północ 1 stycznia 1980 r.).

Dotyczy

ExtractToDirectoryAsync(ZipArchive, String, Boolean, CancellationToken)

Źródło:
ZipFileExtensions.ZipArchive.Create.cs
Źródło:
ZipFileExtensions.ZipArchive.Extract.Async.cs

Wyodrębnia wszystkie pliki z archiwum do katalogu w systemie plików. Określony katalog może już istnieć.

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

Parametry

source
ZipArchive

Archiwum zip do wyodrębniania plików.

destinationDirectoryName
String

Ścieżka do katalogu w systemie plików. Katalog może już istnieć. Brakujące katalogi są tworzone zgodnie z potrzebami podczas wyodrębniania wpisów.

overwriteFiles
Boolean

true aby zastąpić pliki; false Inaczej.

cancellationToken
CancellationToken

Token anulowania do monitorowania żądań anulowania.

Zwraca

Wyjątki

destinationDirectoryName jest ciągiem o zerowej długości, zawiera tylko białe znaki lub zawiera co najmniej jeden nieprawidłowy znak zdefiniowany przez InvalidPathChars.

Ta metoda tworzy brakujące katalogi zgodnie z potrzebami podczas wyodrębniania wpisów.

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

Każdy wpis jest wyodrębniany, tak aby wyodrębniony plik miał taką samą ścieżkę względną, do destinationDirectoryName której wpis musi pochodzić z katalogu głównego archiwum. Jeśli plik do zarchiwizowania ma nieprawidłową godzinę ostatniej modyfikacji, zostanie użyty pierwszy format znacznika czasu (północ 1 stycznia 1980 r.).

Parametr destinationDirectoryName ma wartość null.

Określona ścieżka, nazwa pliku lub obie metody przekraczają maksymalną długość zdefiniowaną przez system.

Na przykład na platformach opartych na systemie Windows ścieżki muszą być mniejsze niż 248 znaków, a nazwy plików muszą być mniejsze niż 260 znaków.

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

Nazwa wpisu archiwum to zero-length, zawiera tylko biały znak lub zawiera jeden lub więcej nieprawidłowych znaków zdefiniowanych przez InvalidPathChars.

— lub —

Wyodrębnienie wpisu archiwum spowodowałoby, że plik docelowy znajduje się poza destinationDirectoryName (na przykład jeśli nazwa wpisu zawiera metody dostępu do katalogu nadrzędnego).

— lub —

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

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

destinationDirectoryName jest w nieprawidłowym formacie.

Nie znaleziono wpisu archiwum lub został uszkodzony.

— lub —

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

Uwagi

Warning

Ta metoda nie może służyć do wyodrębniania niezaufanych archiwów. Nie wymusza żadnych limitów rozmiaru, limitów liczby wpisów ani innych zasad potrzebnych do bezpiecznego wyodrębniania niezaufanych archiwów. Aby uzyskać więcej informacji na temat bezpiecznego wyodrębniania archiwów z niezaufanych źródeł, zobacz Najlepsze rozwiązania dotyczące korzystania z archiwów zip i tar.

Katalog określony przez destinationDirectoryName program może już istnieć. Ta metoda tworzy katalog docelowy, jego brakujące katalogi nadrzędne i podkatalogi zgodnie z potrzebami podczas wyodrębniania wpisów. Jeśli archiwum jest puste, ta metoda nie tworzy katalogu docelowego.

Ścieżka może określać informacje o ścieżce względnej lub bezwzględnej. Informacje o ścieżce względnej są interpretowane jako względem bieżącego katalogu roboczego.

Dotyczy

ExtractToDirectoryAsync(ZipArchive, String, ZipExtractionOptions, CancellationToken)

Źródło:
ZipFileExtensions.ZipArchive.Extract.Async.cs
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(this System.IO.Compression.ZipArchive source, string destinationDirectoryName, System.IO.Compression.ZipExtractionOptions options, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : System.IO.Compression.ZipArchive * string * System.IO.Compression.ZipExtractionOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task
<Extension()>
Public Function ExtractToDirectoryAsync (source As ZipArchive, destinationDirectoryName As String, options As ZipExtractionOptions, Optional cancellationToken As CancellationToken = Nothing) As Task

Parametry

source
ZipArchive
destinationDirectoryName
String

Ścieżka do katalogu, w którym mają być przechowywane wyodrębnione pliki. Katalog może już istnieć. Brakujące katalogi są tworzone zgodnie z potrzebami podczas wyodrębniania wpisów.

cancellationToken
CancellationToken

Zwraca

Uwagi

Warning

Ta metoda nie może służyć do wyodrębniania niezaufanych archiwów. Nie wymusza żadnych limitów rozmiaru, limitów liczby wpisów ani innych zasad potrzebnych do bezpiecznego wyodrębniania niezaufanych archiwów. Aby uzyskać więcej informacji na temat bezpiecznego wyodrębniania archiwów z niezaufanych źródeł, zobacz Najlepsze rozwiązania dotyczące korzystania z archiwów zip i tar.

Katalog określony przez destinationDirectoryName program może już istnieć. Ta metoda tworzy katalog docelowy, jego brakujące katalogi nadrzędne i podkatalogi zgodnie z potrzebami podczas wyodrębniania wpisów. Jeśli archiwum jest puste, ta metoda nie tworzy katalogu docelowego.

Każdy wyodrębniony plik ma taką samą ścieżkę względną jak destinationDirectoryName jego wpis źródłowy musi mieć katalog główny archiwum.

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

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

Ustaw OverwriteFiles wartość na , aby true zastąpić istniejące pliki. Wartość domyślna to false, co powoduje, że wyodrębnianie zgłasza błąd IOException , jeśli plik do wyodrębnienia już istnieje.

Użyj Password polecenia , aby podać hasło dla zaszyfrowanych wpisów.

EntryNameEncoding nie jest używany przez to przeciążenie. Nazwy wpisów i komentarze są dekodowane przy użyciu kodowania określonego podczas otwierania source archiwum.

Łącza symboliczne w archiwum nie są tworzone ponownie jako łącza symboliczne. Jeśli destinationDirectoryName lub którykolwiek z katalogów nadrzędnych jest wstępnie istniejącym połączeniem lub łączem symbolicznym, następuje link i wyodrębnianie zapisów do końcowego folderu docelowego.

Wyjątki występujące podczas wyodrębniania asynchronicznego są przechowywane w zwracanym zadaniu i są zgłaszane, gdy zadanie jest oczekiwane.

Dotyczy