ZipFile.OpenAsync Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| OpenAsync(String, ZipArchiveMode, CancellationToken) |
Belirtilen modda belirtilende |
| OpenAsync(String, ZipArchiveMode, Encoding, CancellationToken) |
Belirtilen modda belirtilende |
OpenAsync(String, ZipArchiveMode, CancellationToken)
- Kaynak:
- ZipFile.Create.Async.cs
- Kaynak:
- ZipFile.Create.Async.cs
Belirtilen modda belirtilende ZipArchivearchiveFileName zaman uyumsuz olarak bir ZipArchiveMode açar.
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)
Parametreler
- archiveFileName
- String
Arşivi açmak için dosya sistemindeki yol.
- mode
- ZipArchiveMode
Açılan arşivdeki girdilerde izin verilen eylemleri belirten numaralandırma değerlerinden biri.
- cancellationToken
- CancellationToken
İptal isteklerini izlemek için iptal belirteci.
Döndürülenler
Özel durumlar
archiveFileName sıfır uzunluklu bir dizedir, yalnızca boşluk içerir veya InvalidPathChars tarafından tanımlanan bir veya daha fazla geçersiz karakter içerir.
archiveFileName, null'e eşittir.
archiveFileName sistem tanımlı maksimum uzunluğu aşıyor. Örneğin, Windows tabanlı platformlarda yollar 248 karakterden az, dosya adları ise 260 karakterden kısa olmalıdır.
Belirtilen archiveFileName geçersiz (örneğin, eşlenmemiş bir sürücüde).
Dosya açılırken belirtilmeyen bir G/Ç hatası oluştu.
mode geçersiz bir değer belirtti.
içinde archiveFileName belirtilen dosya bulunamadı.
archiveFileName geçersiz biçimde.
Belirtilen dosya zip dosyası olarak yorumlanamadı.
-veya-
mode ve Update arşivde bir girdi eksik veya bozuk ve okunamıyor.
-veya-
mode is Update ve bir girdi belleğe sığamayacak kadar büyük.
Zaman uyumsuz bir işlem iptal edildi.
Açıklamalar
archiveFileNameiçin:
Yolun göreli veya mutlak yol bilgilerini belirtmesine izin verilir. Göreli yol bilgileri geçerli çalışma dizinine göre yorumlanır.
modeiçin:
belirtilirse Read , dosya ile System.IO.FileMode.Openaçılır ve dosya yoksa bir FileNotFoundException oluşturur.
belirtilirse Create , dosya ile System.IO.FileMode.CreateNewaçılır ve dosya zaten varsa bir System.IO.IOException oluşturur.
belirtilirse Update , dosya ile System.IO.FileMode.OpenOrCreateaçılır.
Dosya varsa ve bir zip dosyasıysa, girdileri erişilebilir hale gelir ve değiştirilebilir ve yeni girdiler oluşturulabilir.
Dosya varsa ve zip dosyası değilse, bir InvalidDataException oluşturulur.
Dosya varsa ve boşsa veya yoksa, yeni bir zip dosyası oluşturulur.
Yeni bir zip dosyası oluştururken moduyla Create zip dosyası oluşturmak daha verimlidir.
Şunlara uygulanır
OpenAsync(String, ZipArchiveMode, Encoding, CancellationToken)
- Kaynak:
- ZipFile.Create.Async.cs
- Kaynak:
- ZipFile.Create.Async.cs
Belirtilen modda belirtilende ZipArchivearchiveFileName zaman uyumsuz olarak bir ZipArchiveMode açar.
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)
Parametreler
- archiveFileName
- String
Arşivi açmak için dosya sistemindeki yol.
- mode
- ZipArchiveMode
Açılan arşivdeki girdilerde izin verilen eylemleri belirten numaralandırma değerlerinden biri.
- entryNameEncoding
- Encoding
Bu ZipArchive'de giriş adlarını ve açıklamalarını okurken veya yazarken kullanılacak kodlama.
- cancellationToken
- CancellationToken
İptal isteklerini izlemek için iptal belirteci.
Döndürülenler
Özel durumlar
archiveFileName sıfır uzunluklu bir dizedir, yalnızca boşluk içerir veya InvalidPathChars tarafından tanımlanan bir veya daha fazla geçersiz karakter içerir.
archiveFileName, null'e eşittir.
archiveFileName sistem tanımlı maksimum uzunluğu aşıyor. Örneğin, Windows tabanlı platformlarda yollar 248 karakterden az, dosya adları ise 260 karakterden kısa olmalıdır.
archiveFileName geçersizdir (örneğin, eşlenmemiş bir sürücüdedir).
Dosya açılırken belirtilmeyen bir G/Ç hatası oluştu.
mode geçersiz bir değer belirtti.
içinde archiveFileName belirtilen dosya bulunamadı.
archiveFileName geçersiz biçimde.
Belirtilen dosya zip dosyası olarak yorumlanamadı.
-veya-
mode ve Update arşivde bir girdi eksik veya bozuk ve okunamıyor.
-veya-
mode is Update ve bir girdi belleğe sığamayacak kadar büyük.
Zaman uyumsuz bir işlem iptal edildi.
Açıklamalar
archiveFileNameiçin:
Yolun göreli veya mutlak yol bilgilerini belirtmesine izin verilir. Göreli yol bilgileri geçerli çalışma dizinine göre yorumlanır.
modeiçin:
belirtilirse Read , dosya ile System.IO.FileMode.Openaçılır ve dosya yoksa bir FileNotFoundException oluşturur.
belirtilirse Create , dosya ile System.IO.FileMode.CreateNewaçılır ve dosya zaten varsa bir System.IO.IOException oluşturur.
belirtilirse Update , dosya ile System.IO.FileMode.OpenOrCreateaçılır.
Dosya varsa ve bir zip dosyasıysa, girdileri erişilebilir hale gelir ve değiştirilebilir ve yeni girdiler oluşturulabilir.
Dosya varsa ve zip dosyası değilse, bir InvalidDataException oluşturulur.
Dosya varsa ve boşsa veya yoksa, yeni bir zip dosyası oluşturulur.
Yeni bir zip dosyası oluştururken moduyla Create zip dosyası oluşturmak daha verimlidir.
için null dışında entryNameEncoding bir değer belirtilmesi önerilmez. Ancak bu, girdi adları veya açıklamaları için UTF-8 kodlamasını doğru şekilde desteklemeyen zip arşiv araçları ve kitaplıklarıyla birlikte çalışabilirlik için gerekli olabilir.
Bu değer aşağıdaki gibi kullanılır:
- Belirtilmezse
entryNameEncoding(== null):- Yerel dosya üst bilgisinin genel amaçlı bit bayrağında dil kodlama bayrağının (EFS) ayarlanmadığı girişler için, giriş adı ve açıklamasının kodunu çözmek için geçerli sistem varsayılan kod sayfasını (
Encoding.Default) kullanın. - Yerel dosya üst bilgisinin genel amaçlı bit bayrağında dil kodlama bayrağının (EFS) ayarlandığı girişler için, girdi adı ve açıklamasının kodunu çözmek için UTF-8 (
Encoding.UTF8) kullanın.
- Yerel dosya üst bilgisinin genel amaçlı bit bayrağında dil kodlama bayrağının (EFS) ayarlanmadığı girişler için, giriş adı ve açıklamasının kodunu çözmek için geçerli sistem varsayılan kod sayfasını (
- Belirtilirse
entryNameEncoding(!= null):- Yerel dosya üst bilgisinin genel amaçlı bit bayrağındaki dil kodlama bayrağının (EFS) ayarlanmadığı girişler için, girdi adı ve açıklamasının kodunu çözmek için belirtilen
entryNameEncodingdeğerini kullanın. - Yerel dosya üst bilgisinin genel amaçlı bit bayrağında dil kodlama bayrağının (EFS) ayarlandığı girişler için, girdi adı ve açıklamasının kodunu çözmek için UTF-8 (
Encoding.UTF8) kullanın.
- Yerel dosya üst bilgisinin genel amaçlı bit bayrağındaki dil kodlama bayrağının (EFS) ayarlanmadığı girişler için, girdi adı ve açıklamasının kodunu çözmek için belirtilen
- Belirtilmezse
entryNameEncoding(== null):- ASCII aralığının dışında karakterler içeren giriş adları ve açıklamalar için, dil kodlama bayrağı (EFS) yerel dosya üst bilgisinin genel amaçlı bit bayrağında ayarlanır ve girdi adını ve açıklamasını bayt olarak kodlamak için UTF-8 (
Encoding.UTF8) kullanılır. - ASCII aralığının dışında karakter içermeyen giriş adları ve açıklamalar için, dil kodlama bayrağı (EFS) yerel dosya üst bilgisinin genel amaçlı bit bayrağında ayarlanmaz ve giriş adlarını ve açıklamalarını bayt olarak kodlamak için geçerli sistem varsayılan kod sayfası (
Encoding.Default) kullanılır.
- ASCII aralığının dışında karakterler içeren giriş adları ve açıklamalar için, dil kodlama bayrağı (EFS) yerel dosya üst bilgisinin genel amaçlı bit bayrağında ayarlanır ve girdi adını ve açıklamasını bayt olarak kodlamak için UTF-8 (
- Belirtilirse
entryNameEncoding(!= null):- Belirtilen
entryNameEncodingher zaman giriş adlarını ve açıklamalarını bayt olarak kodlamak için kullanılır. - Yerel dosya üst bilgisinin genel amaçlı bit bayrağındaki dil kodlama bayrağı (EFS), yalnızca belirtilen
entryNameEncodingbir UTF-8 kodlaması ise ayarlanır.
- Belirtilen
UTF-8 dışındaki Unicode kodlamaları için entryNameEncodingkullanılamaz, aksi takdirde bir ArgumentException oluşturulur.