ZipFileExtensions.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.
Przeciążenia
ExtractToDirectory(ZipArchive, String) |
Wyodrębnia wszystkie pliki z archiwum zip do katalogu w systemie plików. |
ExtractToDirectory(ZipArchive, String, Boolean) |
Wyodrębnia wszystkie pliki z archiwum do katalogu w systemie plików. |
ExtractToDirectory(ZipArchive, String)
Wyodrębnia wszystkie pliki z archiwum zip do katalogu w systemie plików.
public:
[System::Runtime::CompilerServices::Extension]
static void ExtractToDirectory(System::IO::Compression::ZipArchive ^ source, System::String ^ destinationDirectoryName);
public static void ExtractToDirectory (this System.IO.Compression.ZipArchive source, string destinationDirectoryName);
static member ExtractToDirectory : System.IO.Compression.ZipArchive * string -> unit
<Extension()>
Public Sub ExtractToDirectory (source As ZipArchive, destinationDirectoryName As String)
Parametry
- source
- ZipArchive
Archiwum zip do wyodrębniania plików.
- destinationDirectoryName
- String
Ścieżka do katalogu w celu umieszczenia wyodrębnionych plików. Można określić względną lub bezwzględną ścieżkę. Ś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
to null
.
Określona ścieżka 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 z 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-
Co najmniej dwa wpisy w archiwum mają taką samą nazwę.
Obiekt wywołujący nie ma wymaganych uprawnień do zapisu w katalogu docelowym.
destinationDirectoryName
zawiera nieprawidłowy format.
Nie można odnaleźć wpisu archiwum lub jest on uszkodzony.
-lub-
Wpis archiwum został skompresowany przy użyciu metody kompresji, która nie jest obsługiwana.
Przykłady
W poniższym przykładzie pokazano, jak utworzyć nowy wpis w archiwum zip z istniejącego pliku i wyodrębnić archiwum do nowego katalogu.
using System;
using System.IO;
using System.IO.Compression;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
string zipPath = @"c:\users\exampleuser\start.zip";
string extractPath = @"c:\users\exampleuser\extract";
string newFile = @"c:\users\exampleuser\NewFile.txt";
using (ZipArchive archive = ZipFile.Open(zipPath, ZipArchiveMode.Update))
{
archive.CreateEntryFromFile(newFile, "NewEntry.txt");
archive.ExtractToDirectory(extractPath);
}
}
}
}
Imports System.IO
Imports System.IO.Compression
Module Module1
Sub Main()
Dim zipPath As String = "c:\users\exampleuser\end.zip"
Dim extractPath As String = "c:\users\exampleuser\extract"
Dim newFile As String = "c:\users\exampleuser\NewFile.txt"
Using archive As ZipArchive = ZipFile.Open(zipPath, ZipArchiveMode.Update)
archive.CreateEntryFromFile(newFile, "NewEntry.txt", CompressionLevel.Fastest)
archive.ExtractToDirectory(extractPath)
End Using
End Sub
End Module
Uwagi
Ta metoda tworzy katalog określony przez destinationDirectoryName
. Metoda tworzy również podkatalogi odzwierciedlające hierarchię w archiwum zip. Jeśli podczas wyodrębniania wystąpi błąd, archiwum pozostanie 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.
Dotyczy
ExtractToDirectory(ZipArchive, String, Boolean)
Wyodrębnia wszystkie pliki z archiwum do katalogu w systemie plików.
public:
[System::Runtime::CompilerServices::Extension]
static void ExtractToDirectory(System::IO::Compression::ZipArchive ^ source, System::String ^ destinationDirectoryName, bool overwriteFiles);
public static void ExtractToDirectory (this System.IO.Compression.ZipArchive source, string destinationDirectoryName, bool overwriteFiles);
static member ExtractToDirectory : System.IO.Compression.ZipArchive * string * bool -> unit
<Extension()>
Public Sub ExtractToDirectory (source As ZipArchive, destinationDirectoryName As String, overwriteFiles As Boolean)
Parametry
- source
- ZipArchive
Element ZipArchive do wyodrębnienia.
- destinationDirectoryName
- String
Ścieżka do katalogu docelowego w systemie plików. Ścieżka może być 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ć istniejące pliki; false
Inaczej.
Wyjątki
destinationArchiveFileName
jest ciągiem o zerowej długości, zawiera tylko białe znaki lub zawiera co najmniej jeden nieprawidłowy znak zdefiniowany przez InvalidPathChars.
destinationArchiveFileName
to null
.
Podana ścieżka, nazwa pliku lub obie przekraczają maksymalną długość zdefiniowaną przez system.
Określona ścieżka jest nieprawidłowa (na przykład znajduje się na niezamapowanym dysku).
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 elementu ZipArchiveEntry spowodowałoby, że plik docelowy znajduje się na zewnątrz destinationArchiveFileName
(na przykład jeśli nazwa wpisu zawiera 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ń.
destinationArchiveFileName
jest w nieprawidłowym formacie.
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
Określony katalog może już istnieć. Ta metoda tworzy określony katalog i wszystkie podkatalogi w razie potrzeby.
Jeśli podczas wyodrębniania archiwum wystąpi błąd, archiwum pozostanie częściowo wyodrębnione.
Każdy wpis jest wyodrębniany w taki sposób, że wyodrębniony plik ma 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żyta pierwsza data i godzina w formacie znacznika czasu zip (północ 1 stycznia 1980 r.).