ZipFileExtensions.ExtractToDirectoryAsync 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 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)
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)
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)
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.
- options
- ZipExtractionOptions
- 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.