ZipFile.OpenAsync Metod

Definition

Överlagringar

Name Description
OpenAsync(String, ZipArchiveMode, CancellationToken)

Asynkront öppnar en ZipArchive på angiven archiveFileName i det angivna ZipArchiveMode läget.

OpenAsync(String, ZipArchiveMode, Encoding, CancellationToken)

Asynkront öppnar en ZipArchive på angiven archiveFileName i det angivna ZipArchiveMode läget.

OpenAsync(String, ZipArchiveMode, CancellationToken)

Källa:
ZipFile.Create.Async.cs
Källa:
ZipFile.Create.Async.cs

Asynkront öppnar en ZipArchive på angiven archiveFileName i det angivna ZipArchiveMode läget.

public static System.Threading.Tasks.Task<System.IO.Compression.ZipArchive> OpenAsync(string archiveFileName, System.IO.Compression.ZipArchiveMode mode, System.Threading.CancellationToken cancellationToken = default);
static member OpenAsync : string * System.IO.Compression.ZipArchiveMode * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.IO.Compression.ZipArchive>
Public Shared Function OpenAsync (archiveFileName As String, mode As ZipArchiveMode, Optional cancellationToken As CancellationToken = Nothing) As Task(Of ZipArchive)

Parametrar

archiveFileName
String

Sökvägen till filsystemet som arkivet ska öppnas på.

mode
ZipArchiveMode

Ett av uppräkningsvärdena som anger de åtgärder som tillåts för posterna i det öppnade arkivet.

cancellationToken
CancellationToken

Den annulleringstoken som ska övervakas för annulleringsbegäranden.

Returer

Undantag

archiveFileName är en sträng med noll längd, innehåller endast blanksteg eller innehåller ett eller flera ogiltiga tecken som definierats av InvalidPathChars.

archiveFileName är null.

archiveFileName ö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.

Den angivna archiveFileName är ogiltig (den finns till exempel på en ommappad enhet).

Ett ospecificerat I/O-fel uppstod när filen öppnades.

archiveFileName har angett en katalog.

-eller-

Anroparen har inte den behörighet som krävs.

mode angett ett ogiltigt värde.

Filen som angavs i archiveFileName hittades inte.

archiveFileName är i ett ogiltigt format.

Det gick inte att tolka den angivna filen som en zip-fil.

-eller-

mode är Update och en post saknas i arkivet eller är skadad och kan inte läsas.

-eller-

mode är Update och en post är för stor för att passa in i minnet.

En asynkron åtgärd avbryts.

Kommentarer

För archiveFileName:

Sökvägen tillåts ange relativ eller absolut sökvägsinformation. Relativ sökvägsinformation tolkas som relativ till den aktuella arbetskatalogen.

För mode:

Om Read anges öppnas filen med System.IO.FileMode.Openoch genererar en FileNotFoundException om filen inte finns.

Om Create anges öppnas filen med System.IO.FileMode.CreateNewoch genererar en System.IO.IOException om filen redan finns.

Om Update anges öppnas filen med System.IO.FileMode.OpenOrCreate.

Om filen finns och är en zip-fil blir dess poster tillgängliga och kan ändras och nya poster kan skapas.

Om filen finns och inte är en zip-fil genereras en InvalidDataException .

Om filen finns och är tom eller inte finns skapas en ny zip-fil.

Det är effektivare att skapa en zip-fil med Create läget när du skapar en ny zip-fil.

Gäller för

OpenAsync(String, ZipArchiveMode, Encoding, CancellationToken)

Källa:
ZipFile.Create.Async.cs
Källa:
ZipFile.Create.Async.cs

Asynkront öppnar en ZipArchive på angiven archiveFileName i det angivna ZipArchiveMode läget.

public static System.Threading.Tasks.Task<System.IO.Compression.ZipArchive> OpenAsync(string archiveFileName, System.IO.Compression.ZipArchiveMode mode, System.Text.Encoding? entryNameEncoding, System.Threading.CancellationToken cancellationToken = default);
static member OpenAsync : string * System.IO.Compression.ZipArchiveMode * System.Text.Encoding * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.IO.Compression.ZipArchive>
Public Shared Function OpenAsync (archiveFileName As String, mode As ZipArchiveMode, entryNameEncoding As Encoding, Optional cancellationToken As CancellationToken = Nothing) As Task(Of ZipArchive)

Parametrar

archiveFileName
String

Sökvägen till filsystemet som arkivet ska öppnas på.

mode
ZipArchiveMode

Ett av uppräkningsvärdena som anger de åtgärder som tillåts för posterna i det öppnade arkivet.

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

archiveFileName är en sträng med noll längd, innehåller endast blanksteg eller innehåller ett eller flera ogiltiga tecken som definierats av InvalidPathChars.

archiveFileName är null.

archiveFileName ö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.

archiveFileName är ogiltigt (till exempel på en ommappad enhet).

Ett ospecificerat I/O-fel uppstod när filen öppnades.

archiveFileName har angett en katalog.

-eller-

Anroparen har inte den behörighet som krävs.

mode angett ett ogiltigt värde.

Filen som angavs i archiveFileName hittades inte.

archiveFileName är i ett ogiltigt format.

Det gick inte att tolka den angivna filen som en zip-fil.

-eller-

mode är Update och en post saknas i arkivet eller är skadad och kan inte läsas.

-eller-

mode är Update och en post är för stor för att passa in i minnet.

En asynkron åtgärd avbryts.

Kommentarer

För archiveFileName:

Sökvägen tillåts ange relativ eller absolut sökvägsinformation. Relativ sökvägsinformation tolkas som relativ till den aktuella arbetskatalogen.

För mode:

Om Read anges öppnas filen med System.IO.FileMode.Openoch genererar en FileNotFoundException om filen inte finns.

Om Create anges öppnas filen med System.IO.FileMode.CreateNewoch genererar en System.IO.IOException om filen redan finns.

Om Update anges öppnas filen med System.IO.FileMode.OpenOrCreate.

Om filen finns och är en zip-fil blir dess poster tillgängliga och kan ändras och nya poster kan skapas.

Om filen finns och inte är en zip-fil genereras en InvalidDataException .

Om filen finns och är tom eller inte finns skapas en ny zip-fil.

Det är effektivare att skapa en zip-fil med Create läget när du skapar en ny zip-fil.

Det rekommenderas inte att ange ett annat värde än null för entryNameEncoding . Detta kan dock vara nödvändigt för samverkan med zip-arkivverktyg och bibliotek som inte har rätt stöd för UTF-8-kodning för postnamn eller kommentarer.

Det här värdet används på följande sätt:

  • Läser (öppnar) ZIP-arkivfiler:
    • Om entryNameEncoding inte har angetts (== null):
      • 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.
    • Om entryNameEncoding anges (!= null):
      • 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 entryNameEncoding 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.
  • Skriva (spara) ZIP-arkivfiler:
    • Om entryNameEncoding inte har angetts (== null):
      • För postnamn och kommentarer som innehåller tecken utanför ASCII-intervallet anges språkkodningsflaggan (EFS) i den allmänna bitflaggan för den lokala filrubriken och UTF-8 (Encoding.UTF8) används för att koda postnamnet och kommentera till byte.
      • För postnamn och kommentarer som inte innehåller tecken utanför ASCII-intervallet anges inte språkkodningsflaggan (EFS) i den allmänna bitflaggan för den lokala filrubriken, och den aktuella systemstandardkodsidan (Encoding.Default) används för att koda postnamnen och kommentarerna till byte.
    • Om entryNameEncoding anges (!= null):
      • Den angivna entryNameEncoding används alltid för att koda postnamnen och kommentarerna till byte.
      • Språkkodningsflaggan (EFS) i den allmänna bitflaggan för den lokala filrubriken anges om och endast om den angivna entryNameEncoding är en UTF-8-kodning.
  • Unicode-kodningar som inte är UTF-8 kan inte användas för entryNameEncoding, annars genereras en ArgumentException .

    Gäller för