ZipFile.ExtractToDirectoryAsync 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 |
|---|---|
| ExtractToDirectoryAsync(String, String, Boolean, CancellationToken) |
Extraherar asynkront alla filer i det angivna arkivet till en katalog i filsystemet. |
| ExtractToDirectoryAsync(Stream, String, CancellationToken) |
Extraherar asynkront alla filer från zip-arkivet som lagras i den angivna strömmen och placerar dem i den angivna målkatalogen i filsystemet. |
| ExtractToDirectoryAsync(String, String, CancellationToken) |
Extraherar asynkront alla filer i det angivna arkivet till en katalog i filsystemet. |
| ExtractToDirectoryAsync(Stream, String, Boolean, CancellationToken) |
Extraherar asynkront alla filer från zip-arkivet som lagras i den angivna strömmen och placerar dem i den angivna målkatalogen i filsystemet, och du kan också välja om filerna i målkatalogen ska skrivas över. |
| ExtractToDirectoryAsync(Stream, String, Encoding, CancellationToken) |
Extraherar asynkront alla filer från zip-arkivet som lagras i den angivna strömmen och placerar dem i den angivna målkatalogen i filsystemet och använder den angivna teckenkodningen för postnamn. |
| ExtractToDirectoryAsync(String, String, Encoding, CancellationToken) |
Extraherar asynkront alla filer i det angivna arkivet till en katalog i filsystemet. |
| ExtractToDirectoryAsync(Stream, String, Encoding, Boolean, CancellationToken) |
Extraherar asynkront alla filer från zip-arkivet som lagras i den angivna strömmen och placerar dem i den angivna målkatalogen i filsystemet, använder den angivna teckenkodningen för postnamn och kan också välja om filerna i målkatalogen ska skrivas över. |
| ExtractToDirectoryAsync(String, String, Encoding, Boolean, CancellationToken) |
Extraherar asynkront alla filer i det angivna arkivet till en katalog i filsystemet. Den angivna katalogen får inte finnas. Den här metoden skapar alla underkataloger och den angivna katalogen. 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 arkivet. Sökvägen tillåts ange relativ eller absolut sökvägsinformation. Relativ sökvägsinformation tolkas som relativ till den aktuella arbetskatalogen. Om en fil som ska arkiveras har en ogiltig senast ändrad tid används den första datetime som kan representeras i zip-tidsstämpelformatet (midnatt den 1 januari 1980). |
ExtractToDirectoryAsync(String, String, Boolean, CancellationToken)
- Källa:
- ZipFile.Extract.Async.cs
- Källa:
- ZipFile.Extract.Async.cs
Extraherar asynkront alla filer i det angivna arkivet till en katalog i filsystemet.
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(string sourceArchiveFileName, string destinationDirectoryName, bool overwriteFiles, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : string * string * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (sourceArchiveFileName As String, destinationDirectoryName As String, overwriteFiles As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task
Parametrar
- sourceArchiveFileName
- String
Sökvägen till arkivet i filsystemet som ska extraheras.
- destinationDirectoryName
- String
Sökvägen till den katalog där de extraherade filerna ska placeras, som anges som en relativ eller absolut sökväg. En relativ sökväg tolkas som relativ till den aktuella arbetskatalogen.
- overwriteFiles
- Boolean
true för att skriva över filer; false Annars.
- cancellationToken
- CancellationToken
Den annulleringstoken som ska övervakas för annulleringsbegäranden.
Returer
Undantag
sourceArchiveFileName eller destinationDirectoryName är en sträng med noll längd, innehåller endast blanksteg eller innehåller ett eller flera ogiltiga tecken som definierats av InvalidPathChars.
sourceArchiveFileName eller destinationDirectoryName är null.
sourceArchiveFileName eller destinationDirectoryName anger en sökväg, ett filnamn eller båda som överskrider den systemdefinierade maximala längden. På Windows-baserade plattformar måste sökvägar till exempel vara mindre än 248 tecken och filnamnen måste vara mindre än 260 tecken.
Sökvägen som anges av sourceArchiveFileName eller destinationDirectoryName är ogiltig (till exempel på en ommappad enhet).
Ett I/O-fel har inträffat.
-eller-
En arkivposts namn är noll längd, innehåller endast blanksteg eller innehåller ett eller flera ogiltiga tecken som definierats av InvalidPathChars.
-eller-
Om du extraherar en arkivpost skulle det resultera i ett filmål som ligger utanför målkatalogen (till exempel på grund av överordnade katalogåtkomster).
-eller-
En arkivpost har samma namn som en redan extraherad post från samma arkiv.
Anroparen har inte den behörighet som krävs.
sourceArchiveFileName eller destinationDirectoryName är i ett ogiltigt format.
sourceArchiveFileName hittades inte.
sourceArchiveFileName inte en giltig ZipArchive.
-eller-
En arkivpost hittades inte eller var skadad.
-eller-
En arkivpost har komprimerats med en komprimeringsmetod som inte stöds.
En asynkron åtgärd avbryts.
Kommentarer
Den angivna katalogen får inte finnas. Den här metoden skapar alla underkataloger och den angivna katalogen.
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 arkivet. Sökvägen accepterar relativ eller absolut sökvägsinformation. relativa sökvägar tolkas som relativa till den aktuella arbetskatalogen.
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).
Varning
Den här metoden begränsar inte den totala okomprimerade storleken eller antalet poster som extraheras från arkivet. När du bearbetar arkiv från ej betrodda källor itererar du över posterna manuellt med hjälp av ZipArchiveoch verifierar att den totala okomprimerade storleken och antalet poster ligger inom godkända gränser för ditt scenario.
Gäller för
ExtractToDirectoryAsync(Stream, String, CancellationToken)
- Källa:
- ZipFile.Extract.Async.cs
- Källa:
- ZipFile.Extract.Async.cs
Extraherar asynkront alla filer från zip-arkivet som lagras i den angivna strömmen och placerar dem i den angivna målkatalogen i filsystemet.
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(System.IO.Stream source, string destinationDirectoryName, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : System.IO.Stream * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (source As Stream, destinationDirectoryName As String, Optional cancellationToken As CancellationToken = Nothing) As Task
Parametrar
- source
- Stream
Strömmen som zip-arkivet ska extraheras från.
- destinationDirectoryName
- String
Sökvägen till den katalog där de extraherade filerna ska placeras, som anges som en relativ eller absolut sökväg. En relativ sökväg tolkas som relativ till den aktuella arbetskatalogen.
- cancellationToken
- CancellationToken
Den annulleringstoken som ska övervakas för annulleringsbegäranden.
Returer
Undantag
destinationDirectoryName är Empty, innehåller endast tomt utrymme eller innehåller minst ett ogiltigt tecken.
destinationDirectoryName eller source är null.
Den angivna sökvägen i destinationDirectoryName ö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 arkivpost 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-
En arkivpost som ska extraheras har samma namn som en post som redan har extraherats eller som finns i destinationDirectoryName.
Anroparen har inte den behörighet som krävs för att komma åt arkivet eller målkatalogen.
destinationDirectoryName innehåller ett ogiltigt format.
Arkivet som finns i dataströmmen source är inte ett giltigt zip-arkiv.
-eller-
En arkivpost hittades inte eller var skadad.
-eller-
En arkivpost komprimerades med hjälp av en komprimeringsmetod som inte stöds.
En asynkron åtgärd avbryts.
Kommentarer
Den här metoden skapar den angivna katalogen och alla underkataloger. Målkatalogen kan inte redan finnas. Undantag som rör validering av sökvägarna i destinationDirectoryName eller filerna i zip-arkivet som finns i parametrarna source genereras före extrahering. Annars, om ett fel uppstår under extrahering, 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.
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).
Varning
Den här metoden begränsar inte den totala okomprimerade storleken eller antalet poster som extraheras från arkivet. När du bearbetar arkiv från ej betrodda källor itererar du över posterna manuellt med hjälp av ZipArchiveoch verifierar att den totala okomprimerade storleken och antalet poster ligger inom godkända gränser för ditt scenario.
Gäller för
ExtractToDirectoryAsync(String, String, CancellationToken)
- Källa:
- ZipFile.Extract.Async.cs
- Källa:
- ZipFile.Extract.Async.cs
Extraherar asynkront alla filer i det angivna arkivet till en katalog i filsystemet.
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(string sourceArchiveFileName, string destinationDirectoryName, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : string * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (sourceArchiveFileName As String, destinationDirectoryName As String, Optional cancellationToken As CancellationToken = Nothing) As Task
Parametrar
- sourceArchiveFileName
- String
Sökvägen till arkivet i filsystemet som ska extraheras.
- destinationDirectoryName
- String
Sökvägen till den katalog där de extraherade filerna ska placeras, som anges som en relativ eller absolut sökväg. En relativ sökväg tolkas som relativ till den aktuella arbetskatalogen.
- cancellationToken
- CancellationToken
Den annulleringstoken som ska övervakas för annulleringsbegäranden.
Returer
Undantag
sourceArchiveFileName eller destinationDirectoryName är en sträng med noll längd, innehåller endast blanksteg eller innehåller ett eller flera ogiltiga tecken som definierats av InvalidPathChars.
sourceArchiveFileName eller destinationDirectoryName är null.
sourceArchiveFileName eller destinationDirectoryName anger en sökväg, ett filnamn eller båda som överskrider den systemdefinierade maximala längden. På Windows-baserade plattformar måste sökvägar till exempel vara mindre än 248 tecken och filnamnen måste vara mindre än 260 tecken.
Sökvägen som anges av sourceArchiveFileName eller destinationDirectoryName är ogiltig (till exempel på en ommappad enhet).
Ett I/O-fel har inträffat.
-eller-
En arkivposts namn är noll längd, innehåller endast blanksteg eller innehåller ett eller flera ogiltiga tecken som definierats av InvalidPathChars.
-eller-
Om du extraherar en arkivpost skulle det resultera i ett filmål som ligger utanför målkatalogen (till exempel på grund av överordnade katalogåtkomster).
-eller-
En arkivpost har samma namn som en redan extraherad post från samma arkiv.
Anroparen har inte den behörighet som krävs.
sourceArchiveFileName eller destinationDirectoryName är i ett ogiltigt format.
sourceArchiveFileName hittades inte.
Arkivet som anges av sourceArchiveFileName är inte en giltig ZipArchive.
-eller-
En arkivpost hittades inte eller var skadad.
-eller-
En arkivpost har komprimerats med en komprimeringsmetod som inte stöds.
En asynkron åtgärd avbryts.
Kommentarer
Den angivna katalogen får inte finnas. Den här metoden skapar alla underkataloger och den angivna katalogen.
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 arkivet. Sökvägen accepterar relativ eller absolut sökvägsinformation. relativa sökvägar tolkas som relativa till den aktuella arbetskatalogen.
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).
Varning
Den här metoden begränsar inte den totala okomprimerade storleken eller antalet poster som extraheras från arkivet. När du bearbetar arkiv från ej betrodda källor itererar du över posterna manuellt med hjälp av ZipArchiveoch verifierar att den totala okomprimerade storleken och antalet poster ligger inom godkända gränser för ditt scenario.
Gäller för
ExtractToDirectoryAsync(Stream, String, Boolean, CancellationToken)
- Källa:
- ZipFile.Extract.Async.cs
- Källa:
- ZipFile.Extract.Async.cs
Extraherar asynkront alla filer från zip-arkivet som lagras i den angivna strömmen och placerar dem i den angivna målkatalogen i filsystemet, och du kan också välja om filerna i målkatalogen ska skrivas över.
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(System.IO.Stream source, string destinationDirectoryName, bool overwriteFiles, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : System.IO.Stream * string * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (source As Stream, destinationDirectoryName As String, overwriteFiles As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task
Parametrar
- source
- Stream
Strömmen som zip-arkivet ska extraheras från.
- destinationDirectoryName
- String
Sökvägen till den katalog där de extraherade filerna ska placeras, som anges som en relativ eller absolut sökväg. En relativ sökväg tolkas som relativ till den aktuella arbetskatalogen.
- overwriteFiles
- Boolean
true för att skriva över filer; false Annars.
- cancellationToken
- CancellationToken
Den annulleringstoken som ska övervakas för annulleringsbegäranden.
Returer
Undantag
destinationDirectoryName är Empty, innehåller endast tomt utrymme eller innehåller minst ett ogiltigt tecken.
destinationDirectoryName eller source är null.
Den angivna sökvägen i destinationDirectoryName ö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 arkivpost 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-
overwriteFiles är false och en arkivpost som ska extraheras har samma namn som en post som redan har extraherats eller som finns i destinationDirectoryName.
Anroparen har inte den behörighet som krävs för att komma åt arkivet eller målkatalogen.
destinationDirectoryName innehåller ett ogiltigt format.
Arkivet som finns i dataströmmen source är inte ett giltigt zip-arkiv.
-eller-
En arkivpost hittades inte eller var skadad.
-eller-
En arkivpost komprimerades med hjälp av en komprimeringsmetod som inte stöds.
En asynkron åtgärd avbryts.
Kommentarer
Den här metoden skapar den angivna katalogen och alla underkataloger. Målkatalogen kan inte redan finnas. Undantag som rör validering av sökvägarna i destinationDirectoryName eller filerna i zip-arkivet som finns i parametrarna source genereras före extrahering. Annars, om ett fel uppstår under extrahering, 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.
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).
Varning
Den här metoden begränsar inte den totala okomprimerade storleken eller antalet poster som extraheras från arkivet. När du bearbetar arkiv från ej betrodda källor itererar du över posterna manuellt med hjälp av ZipArchiveoch verifierar att den totala okomprimerade storleken och antalet poster ligger inom godkända gränser för ditt scenario.
Gäller för
ExtractToDirectoryAsync(Stream, String, Encoding, CancellationToken)
- Källa:
- ZipFile.Extract.Async.cs
- Källa:
- ZipFile.Extract.Async.cs
Extraherar asynkront alla filer från zip-arkivet som lagras i den angivna strömmen och placerar dem i den angivna målkatalogen i filsystemet och använder den angivna teckenkodningen för postnamn.
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(System.IO.Stream source, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : System.IO.Stream * string * System.Text.Encoding * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (source As Stream, destinationDirectoryName As String, entryNameEncoding As Encoding, Optional cancellationToken As CancellationToken = Nothing) As Task
Parametrar
- source
- Stream
Strömmen som zip-arkivet ska extraheras från.
- destinationDirectoryName
- String
Sökvägen till den katalog där de extraherade filerna ska placeras, som anges som en relativ eller absolut sökväg. En relativ sökväg tolkas som relativ till den aktuella arbetskatalogen.
- entryNameEncoding
- Encoding
Kodningen som ska användas vid läsning eller skrivning av postnamn och kommentarer i det här arkivet. Ange endast ett värde för den här parametern när en kodning krävs för samverkan med zip-arkivverktyg och bibliotek som inte stöder UTF-8-kodning för postnamn eller kommentarer.
- cancellationToken
- CancellationToken
Den annulleringstoken som ska övervakas för annulleringsbegäranden.
Returer
Undantag
destinationDirectoryName är Empty, innehåller endast tomt utrymme eller innehåller minst ett ogiltigt tecken.
-eller-
entryNameEncoding är inställt på en Unicode-kodning som inte är UTF-8.
destinationDirectoryName eller source är null.
Den angivna sökvägen i destinationDirectoryName ö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 arkivpost 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-
En arkivpost som ska extraheras har samma namn som en post som redan har extraherats eller som finns i destinationDirectoryName.
Anroparen har inte den behörighet som krävs för att komma åt arkivet eller målkatalogen.
destinationDirectoryName innehåller ett ogiltigt format.
Arkivet som finns i dataströmmen source är inte ett giltigt zip-arkiv.
-eller-
En arkivpost hittades inte eller var skadad.
-eller-
En arkivpost komprimerades med hjälp av en komprimeringsmetod som inte stöds.
En asynkron åtgärd avbryts.
Kommentarer
Den här metoden skapar den angivna katalogen och alla underkataloger. Målkatalogen kan inte redan finnas. Undantag som rör validering av sökvägarna i destinationDirectoryName eller filerna i zip-arkivet som finns i parametrarna source genereras före extrahering. Annars, om ett fel uppstår under extrahering, 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.
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).
Varning
Den här metoden begränsar inte den totala okomprimerade storleken eller antalet poster som extraheras från arkivet. När du bearbetar arkiv från ej betrodda källor itererar du över posterna manuellt med hjälp av ZipArchiveoch verifierar att den totala okomprimerade storleken och antalet poster ligger inom godkända gränser för ditt scenario.
Gäller för
ExtractToDirectoryAsync(String, String, Encoding, CancellationToken)
- Källa:
- ZipFile.Extract.Async.cs
- Källa:
- ZipFile.Extract.Async.cs
Extraherar asynkront alla filer i det angivna arkivet till en katalog i filsystemet.
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : string * string * System.Text.Encoding * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (sourceArchiveFileName As String, destinationDirectoryName As String, entryNameEncoding As Encoding, Optional cancellationToken As CancellationToken = Nothing) As Task
Parametrar
- sourceArchiveFileName
- String
Sökvägen till arkivet i filsystemet som ska extraheras.
- destinationDirectoryName
- String
Sökvägen till katalogen i filsystemet. Den angivna katalogen får inte finnas, men katalogen som den finns i måste finnas.
- entryNameEncoding
- Encoding
Kodningen som ska användas när du läser eller skriver postnamn och kommentarer i den här ZipArchive.
- cancellationToken
- CancellationToken
Den annulleringstoken som ska övervakas för annulleringsbegäranden.
Returer
Undantag
sourceArchiveFileName eller destinationDirectoryName är en sträng med noll längd, innehåller endast blanksteg eller innehåller ett eller flera ogiltiga tecken som definierats av InvalidPathChars.
sourceArchiveFileName eller destinationDirectoryName är null.
sourceArchiveFileName eller destinationDirectoryName anger en sökväg, ett filnamn eller båda som överskrider den systemdefinierade maximala längden. På Windows-baserade plattformar måste sökvägar till exempel vara mindre än 248 tecken och filnamnen måste vara mindre än 260 tecken.
Sökvägen som anges av sourceArchiveFileName eller destinationDirectoryName är ogiltig (till exempel på en ommappad enhet).
Ett I/O-fel har inträffat.
-eller-
En arkivposts namn är noll längd, innehåller endast blanksteg eller innehåller ett eller flera ogiltiga tecken som definierats av InvalidPathChars.
-eller-
Om du extraherar en arkivpost skulle det resultera i ett filmål som ligger utanför målkatalogen (till exempel på grund av överordnade katalogåtkomster).
-eller-
En arkivpost har samma namn som en redan extraherad post från samma arkiv.
Anroparen har inte den behörighet som krävs.
sourceArchiveFileName eller destinationDirectoryName är i ett ogiltigt format.
sourceArchiveFileName hittades inte.
Arkivet som anges av sourceArchiveFileName är inte en giltig ZipArchive.
-eller-
En arkivpost hittades inte eller var skadad.
-eller-
En arkivpost har komprimerats med en komprimeringsmetod som inte stöds.
En asynkron åtgärd avbryts.
Kommentarer
Den angivna katalogen får inte finnas. Den här metoden skapar alla underkataloger och den angivna katalogen.
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 arkivet. Sökvägen accepterar relativ eller absolut sökvägsinformation. relativa sökvägar tolkas som relativa till den aktuella arbetskatalogen.
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).
Om entryNameEncoding är inställt på ett annat värde än nullavkodas postnamn och kommentarer enligt följande regler:
- För poster där språkkodningsflaggan (EFS) i den allmänna bitflaggan för den lokala filrubriken inte har angetts använder du angivet
entryNameEncodingför att avkoda postnamnet och kommentaren. - För poster där språkkodningsflaggan (EFS) i den allmänna bitflaggan för den lokala filrubriken anges använder du UTF-8 (
Encoding.UTF8) för att avkoda postnamnet och kommentaren.
Om entryNameEncoding är inställt på nullavkodas postnamn och kommentarer enligt följande regler:
- För poster där språkkodningsflaggan (EFS) i den allmänna bitflaggan för den lokala filrubriken inte har angetts använder du det aktuella systemets standardkodsida (
Encoding.Default) för att avkoda postnamnet och kommentaren. - För poster där språkkodningsflaggan (EFS) i den allmänna bitflaggan för den lokala filrubriken anges använder du UTF-8 (
Encoding.UTF8) för att avkoda postnamnet och kommentaren.
Unicode-kodningar som inte är UTF-8 kan inte användas för entryNameEncoding, annars genereras en ArgumentException .
Varning
Den här metoden begränsar inte den totala okomprimerade storleken eller antalet poster som extraheras från arkivet. När du bearbetar arkiv från ej betrodda källor itererar du över posterna manuellt med hjälp av ZipArchiveoch verifierar att den totala okomprimerade storleken och antalet poster ligger inom godkända gränser för ditt scenario.
Gäller för
ExtractToDirectoryAsync(Stream, String, Encoding, Boolean, CancellationToken)
- Källa:
- ZipFile.Create.cs
- Källa:
- ZipFile.Extract.Async.cs
Extraherar asynkront alla filer från zip-arkivet som lagras i den angivna strömmen och placerar dem i den angivna målkatalogen i filsystemet, använder den angivna teckenkodningen för postnamn och kan också välja om filerna i målkatalogen ska skrivas över.
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(System.IO.Stream source, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, bool overwriteFiles, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : System.IO.Stream * string * System.Text.Encoding * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (source As Stream, destinationDirectoryName As String, entryNameEncoding As Encoding, overwriteFiles As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task
Parametrar
- source
- Stream
Strömmen som zip-arkivet ska extraheras från.
- destinationDirectoryName
- String
Sökvägen till den katalog där de extraherade filerna ska placeras, som anges som en relativ eller absolut sökväg. En relativ sökväg tolkas som relativ till den aktuella arbetskatalogen.
- entryNameEncoding
- Encoding
Kodningen som ska användas vid läsning eller skrivning av postnamn och kommentarer i det här arkivet. Ange endast ett värde för den här parametern när en kodning krävs för samverkan med zip-arkivverktyg och bibliotek som inte stöder UTF-8-kodning för postnamn eller kommentarer.
- overwriteFiles
- Boolean
true för att skriva över filer; false Annars.
- cancellationToken
- CancellationToken
Den annulleringstoken som ska övervakas för annulleringsbegäranden.
Returer
Undantag
destinationDirectoryName är Empty, innehåller endast tomt utrymme eller innehåller minst ett ogiltigt tecken.
-eller-
entryNameEncoding är inställt på en Unicode-kodning som inte är UTF-8.
destinationDirectoryName eller source är null.
Den angivna sökvägen i destinationDirectoryName ö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 arkivpost 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-
overwriteFiles är false och en arkivpost som ska extraheras har samma namn som en post som redan har extraherats eller som finns i destinationDirectoryName.
Anroparen har inte den behörighet som krävs för att komma åt arkivet eller målkatalogen.
destinationDirectoryName innehåller ett ogiltigt format.
Arkivet som finns i dataströmmen source är inte ett giltigt zip-arkiv.
-eller-
En arkivpost hittades inte eller var skadad.
-eller-
En arkivpost komprimerades med hjälp av en komprimeringsmetod som inte stöds.
En asynkron åtgärd avbryts.
Kommentarer
Den här metoden skapar den angivna katalogen och alla underkataloger. Målkatalogen kan inte redan finnas. Undantag som rör validering av sökvägarna i destinationDirectoryName eller filerna i zip-arkivet som finns i parametrarna source genereras före extrahering. Annars, om ett fel uppstår under extrahering, 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.
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).
Varning
Den här metoden begränsar inte den totala okomprimerade storleken eller antalet poster som extraheras från arkivet. När du bearbetar arkiv från ej betrodda källor itererar du över posterna manuellt med hjälp av ZipArchiveoch verifierar att den totala okomprimerade storleken och antalet poster ligger inom godkända gränser för ditt scenario.
Gäller för
ExtractToDirectoryAsync(String, String, Encoding, Boolean, CancellationToken)
- Källa:
- ZipFile.Extract.Async.cs
- Källa:
- ZipFile.Extract.Async.cs
Extraherar asynkront alla filer i det angivna arkivet till en katalog i filsystemet.
Den angivna katalogen får inte finnas. Den här metoden skapar alla underkataloger och den angivna katalogen.
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 arkivet. Sökvägen tillåts ange relativ eller absolut sökvägsinformation. Relativ sökvägsinformation tolkas som relativ till den aktuella arbetskatalogen. Om en fil som ska arkiveras har en ogiltig senast ändrad tid används den första datetime som kan representeras i zip-tidsstämpelformatet (midnatt den 1 januari 1980).
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, bool overwriteFiles, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : string * string * System.Text.Encoding * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (sourceArchiveFileName As String, destinationDirectoryName As String, entryNameEncoding As Encoding, overwriteFiles As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task
Parametrar
- sourceArchiveFileName
- String
Sökvägen till arkivet i filsystemet som ska extraheras.
- destinationDirectoryName
- String
Sökvägen till den katalog där de extraherade filerna ska placeras, som anges som en relativ eller absolut sökväg. En relativ sökväg tolkas som relativ till den aktuella arbetskatalogen.
- entryNameEncoding
- Encoding
Kodningen som ska användas när du läser eller skriver postnamn och kommentarer i den här ZipArchive.
- overwriteFiles
- Boolean
true för att skriva över filer; false Annars.
- cancellationToken
- CancellationToken
Den annulleringstoken som ska övervakas för annulleringsbegäranden.
Returer
Undantag
sourceArchiveFileName eller destinationDirectoryName är en sträng med noll längd, innehåller endast blanksteg eller innehåller ett eller flera ogiltiga tecken som definierats av InvalidPathChars.
sourceArchiveFileName eller destinationDirectoryName är null.
sourceArchiveFileName eller destinationDirectoryName anger en sökväg, ett filnamn eller båda som överskrider den systemdefinierade maximala längden. På Windows-baserade plattformar måste sökvägar till exempel vara mindre än 248 tecken och filnamnen måste vara mindre än 260 tecken.
Sökvägen som anges av sourceArchiveFileName eller destinationDirectoryName är ogiltig (till exempel på en ommappad enhet).
Ett I/O-fel har inträffat.
-eller-
En arkivposts namn är noll längd, innehåller endast blanksteg eller innehåller ett eller flera ogiltiga tecken som definierats av InvalidPathChars.
-eller-
Om du extraherar en arkivpost skulle det resultera i ett filmål som ligger utanför målkatalogen (till exempel på grund av överordnade katalogåtkomster).
-eller-
En arkivpost har samma namn som en redan extraherad post från samma arkiv.
Anroparen har inte den behörighet som krävs.
sourceArchiveFileName eller destinationDirectoryName är i ett ogiltigt format.
sourceArchiveFileName hittades inte.
Arkivet som anges av sourceArchiveFileName är inte en giltig ZipArchive.
-eller-
En arkivpost hittades inte eller var skadad.
-eller-
En arkivpost har komprimerats med en komprimeringsmetod som inte stöds.
En asynkron åtgärd avbryts.
Kommentarer
Om entryNameEncoding är inställt på ett annat värde än nullavkodas postnamn och kommentarer enligt följande regler:
- För poster där språkkodningsflaggan (EFS) i den allmänna bitflaggan för den lokala filrubriken inte har angetts använder du angivet
entryNameEncodingför att avkoda postnamnet och kommentaren. - För poster där språkkodningsflaggan (EFS) i den allmänna bitflaggan för den lokala filrubriken anges använder du UTF-8 (
Encoding.UTF8) för att avkoda postnamnet och kommentaren.
Om entryNameEncoding är inställt på nullavkodas postnamn och kommentarer enligt följande regler:
- För poster där språkkodningsflaggan (EFS) i den allmänna bitflaggan för den lokala filrubriken inte har angetts använder du det aktuella systemets standardkodsida (
Encoding.Default) för att avkoda postnamnet och kommentaren. - För poster där språkkodningsflaggan (EFS) i den allmänna bitflaggan för den lokala filrubriken anges använder du UTF-8 (
Encoding.UTF8) för att avkoda postnamnet och kommentaren.
Unicode-kodningar som inte är UTF-8 kan inte användas för entryNameEncoding, annars genereras en ArgumentException .
Varning
Den här metoden begränsar inte den totala okomprimerade storleken eller antalet poster som extraheras från arkivet. När du bearbetar arkiv från ej betrodda källor itererar du över posterna manuellt med hjälp av ZipArchiveoch verifierar att den totala okomprimerade storleken och antalet poster ligger inom godkända gränser för ditt scenario.