ZipFileExtensions.ExtractToDirectory Yöntem

Tanım

Aşırı Yüklemeler

ExtractToDirectory(ZipArchive, String)

Zip arşivindeki tüm dosyaları dosya sistemindeki bir dizine ayıklar.

ExtractToDirectory(ZipArchive, String, Boolean)

Arşivdeki tüm dosyaları dosya sistemindeki bir dizine ayıklar.

ExtractToDirectory(ZipArchive, String)

Kaynak:
ZipFileExtensions.ZipArchive.Extract.cs
Kaynak:
ZipFileExtensions.ZipArchive.Extract.cs
Kaynak:
ZipFileExtensions.ZipArchive.Extract.cs

Zip arşivindeki tüm dosyaları dosya sistemindeki bir dizine ayıklar.

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)

Parametreler

source
ZipArchive

Dosyaları ayıklamak için zip arşivi.

destinationDirectoryName
String

Ayıklanan dosyaları yerleştirecek dizinin yolu. Göreli veya mutlak bir yol belirtebilirsiniz. Göreli yol, geçerli çalışma dizinine göre yorumlanır.

Özel durumlar

destinationDirectoryName is Empty, yalnızca boşluk içerir veya en az bir geçersiz karakter içerir.

destinationDirectoryName, null değeridir.

Belirtilen yol, sistem tarafından tanımlanan uzunluk üst sınırını aşıyor.

Belirtilen yol geçersiz (örneğin, eşlenmemiş bir sürücüde).

Arşivdeki bir girdinin adı olur Empty, yalnızca boşluk içerir veya en az bir geçersiz karakter içerir.

-veya-

Arşivden bir girdi ayıklandığında, tarafından destinationDirectoryNamebelirtilen dizinin dışında bir dosya oluşturulur. (Örneğin, giriş adı üst dizin erişimcileri içeriyorsa bu durum oluşabilir.)

-veya-

Arşivdeki iki veya daha fazla girdi aynı ada sahip.

Çağıranın hedef dizine yazmak için gerekli izni yok.

destinationDirectoryName geçersiz bir biçim içeriyor.

Arşiv girdisi bulunamıyor veya bozuk.

-veya-

Arşiv girdisi desteklenmeyen bir sıkıştırma yöntemi kullanılarak sıkıştırıldı.

Örnekler

Aşağıdaki örnekte, mevcut bir dosyadan zip arşivinde yeni bir girdi oluşturma ve arşivi yeni bir dizine ayıklama gösterilmektedir.

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

Açıklamalar

Bu yöntem tarafından destinationDirectoryNamebelirtilen dizini oluşturur. yöntemi ayrıca zip arşivindeki hiyerarşiyi yansıtan alt dizinler oluşturur. Ayıklama sırasında hata oluşursa arşiv kısmen ayıklanır. Ayıklanan her dosya, kaynak girdisinin arşivin köküne sahip olduğu gibi tarafından destinationDirectoryName belirtilen dizinle aynı göreli yola sahiptir.

Şunlara uygulanır

ExtractToDirectory(ZipArchive, String, Boolean)

Kaynak:
ZipFileExtensions.ZipArchive.Extract.cs
Kaynak:
ZipFileExtensions.ZipArchive.Extract.cs
Kaynak:
ZipFileExtensions.ZipArchive.Extract.cs

Arşivdeki tüm dosyaları dosya sistemindeki bir dizine ayıklar.

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)

Parametreler

source
ZipArchive

ZipArchive Ayıklanması gereken.

destinationDirectoryName
String

Dosya sistemindeki hedef dizinin yolu. Yol göreli veya mutlak olabilir. Göreli yol, geçerli çalışma dizinine göre yorumlanır.

overwriteFiles
Boolean

true varolan dosyaların üzerine yazmak için; false Aksi takdir -de.

Özel durumlar

destinationArchiveFileName sıfır uzunluklu bir dizedir, yalnızca boşluk içerir veya tarafından InvalidPathCharstanımlanan bir veya daha fazla geçersiz karakter içerir.

destinationArchiveFileName, null değeridir.

Belirtilen yol, dosya adı veya her ikisi birden sistem tarafından tanımlanan en fazla uzunluğu aşıyor.

Belirtilen yol geçersiz (örneğin, eşlenmemiş bir sürücüde).

adı ZipArchiveEntry sıfır uzunlukludur, yalnızca boşluk içerir veya tarafından InvalidPathCharstanımlanan bir veya daha fazla geçersiz karakter içerir.

-veya-

bir ZipArchiveEntry ayıklandığında dışarıda destinationArchiveFileName olan bir hedef dosya elde edilirdi (örneğin, giriş adı üst dizin erişimcileri içeriyorsa).

-veya-

, ZipArchiveEntry aynı arşivden ayıklanmış bir girdiyle aynı ada sahiptir.

Çağıranın gerekli izni yok.

destinationArchiveFileName geçersiz biçimde.

Bir ZipArchiveEntry bulunamadı veya bozuk.

-veya-

, ZipArchiveEntry desteklenmeyen bir sıkıştırma yöntemi kullanılarak sıkıştırıldı.

Açıklamalar

Belirtilen dizin zaten var olabilir. Bu yöntem, gerekirse belirtilen dizini ve tüm alt dizinleri oluşturur.

Arşiv ayıklanırken bir hata oluşursa, arşiv kısmen ayıklanmış olarak kalır.

Her girdi ayıklanır, böylece ayıklanan dosya, girişin arşivin kökündekiyle aynı göreli yola destinationDirectoryName sahiptir.

Arşivlenecek bir dosyanın son değiştirme zamanı geçersizse, Zip zaman damgası biçiminde (1 Ocak 1980'de gece yarısı) gösterilebilen ilk tarih ve saat kullanılır.

Şunlara uygulanır