ZipFileExtensions.ExtractToDirectory Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Överlagringar
| Name | Description |
|---|---|
| ExtractToDirectory(ZipArchive, String) |
Extraherar alla filer i zip-arkivet till en katalog i filsystemet. |
| ExtractToDirectory(ZipArchive, String, Boolean) |
Extraherar alla filer i arkivet till en katalog i filsystemet. |
ExtractToDirectory(ZipArchive, String)
Extraherar alla filer i zip-arkivet till en katalog i filsystemet.
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)
Parametrar
- source
- ZipArchive
Zip-arkivet som du vill extrahera filer från.
- destinationDirectoryName
- String
Sökvägen till katalogen som de extraherade filerna ska lagras i. Du kan ange antingen en relativ eller en absolut sökväg. En relativ sökväg tolkas som relativ till den aktuella arbetskatalogen.
Undantag
destinationDirectoryName är Empty, innehåller endast tomt utrymme eller innehåller minst ett ogiltigt tecken.
destinationDirectoryName är null.
Den angivna sökvägen överskrider den systemdefinierade maximala längden.
Den angivna sökvägen är ogiltig (den finns till exempel på en ommappad enhet).
Namnet på en post i arkivet är Empty, innehåller endast tomt utrymme eller innehåller minst ett ogiltigt tecken.
-eller-
Om du extraherar en post från arkivet skapas en fil som ligger utanför den katalog som anges av destinationDirectoryName. (Detta kan till exempel inträffa om postnamnet innehåller överordnade katalogåtkomster.)
-eller-
Två eller flera poster i arkivet har samma namn.
Anroparen har inte den behörighet som krävs för att skriva till målkatalogen.
destinationDirectoryName innehåller ett ogiltigt format.
Det går inte att hitta en arkivpost eller är skadad.
-eller-
En arkivpost komprimerades med hjälp av en komprimeringsmetod som inte stöds.
Exempel
I följande exempel visas hur du skapar en ny post i ett zip-arkiv från en befintlig fil och extraherar arkivet till en ny katalog.
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
Kommentarer
Den här metoden skapar katalogen som anges av destinationDirectoryName. Metoden skapar också underkataloger som återspeglar hierarkin i zip-arkivet. Om ett fel uppstår under extraheringen förblir arkivet delvis extraherat. Varje extraherad fil har samma relativa sökväg till den katalog som anges av destinationDirectoryName som källposten har till roten i arkivet.
Gäller för
ExtractToDirectory(ZipArchive, String, Boolean)
Extraherar alla filer i arkivet till en katalog i filsystemet.
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)
Parametrar
- source
- ZipArchive
Att ZipArchive extrahera.
- destinationDirectoryName
- String
Sökvägen till målkatalogen i filsystemet. Sökvägen kan vara relativ eller absolut. En relativ sökväg tolkas som relativ till den aktuella arbetskatalogen.
- overwriteFiles
- Boolean
true för att skriva över befintliga filer. false Annars.
Undantag
destinationDirectoryName är en sträng med noll längd, innehåller endast blanksteg eller innehåller ett eller flera ogiltiga tecken som definieras av InvalidPathChars.
destinationDirectoryName är null.
Den angivna sökvägen, filnamnet eller båda överskrider den systemdefinierade maximala längden.
Den angivna sökvägen är ogiltig (den finns till exempel på en ommappad enhet).
Namnet på en ZipArchiveEntry är noll längd, innehåller endast blanksteg eller innehåller ett eller flera ogiltiga tecken enligt definitionen av InvalidPathChars.
-eller-
Att extrahera en ZipArchiveEntry skulle ha resulterat i en målfil som ligger utanför destinationDirectoryName (till exempel om postnamnet innehåller överordnade katalogåtkomster).
-eller-
A ZipArchiveEntry har samma namn som en redan extraherad post från samma arkiv.
Anroparen har inte den behörighet som krävs.
destinationDirectoryName är i ett ogiltigt format.
Det ZipArchiveEntry gick inte att hitta eller var skadad.
-eller-
A ZipArchiveEntry har komprimerats med en komprimeringsmetod som inte stöds.
Kommentarer
Den angivna katalogen kanske redan finns. Den här metoden skapar den angivna katalogen och alla underkataloger om det behövs.
Om det uppstår ett fel när arkivet extraheras förblir arkivet delvis extraherat.
Varje post extraheras så att den extraherade filen har samma relativa sökväg till destinationDirectoryName som posten har till roten i arkivet.
Om en fil som ska arkiveras har en ogiltig senast ändrad tid används det första datum och den tid som visas i zip-tidsstämpelformatet (midnatt den 1 januari 1980).