Share via


ZipFileExtensions.ExtractToDirectory Metode

Definisi

Overload

ExtractToDirectory(ZipArchive, String)

Mengekstrak semua file dalam arsip zip ke direktori pada sistem file.

ExtractToDirectory(ZipArchive, String, Boolean)

Mengekstrak semua file dalam arsip ke direktori pada sistem file.

ExtractToDirectory(ZipArchive, String)

Sumber:
ZipFileExtensions.ZipArchive.Extract.cs
Sumber:
ZipFileExtensions.ZipArchive.Extract.cs
Sumber:
ZipFileExtensions.ZipArchive.Extract.cs

Mengekstrak semua file dalam arsip zip ke direktori pada sistem file.

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)

Parameter

source
ZipArchive

Arsip zip untuk mengekstrak file.

destinationDirectoryName
String

Jalur ke direktori untuk menempatkan file yang diekstrak. Anda dapat menentukan jalur relatif atau absolut. Jalur relatif ditafsirkan relatif terhadap direktori kerja saat ini.

Pengecualian

destinationDirectoryName adalah Empty, hanya berisi spasi kosong, atau berisi setidaknya satu karakter yang tidak valid.

destinationDirectoryNameadalah null.

Jalur yang ditentukan melebihi panjang maksimum yang ditentukan sistem.

Jalur yang ditentukan tidak valid (misalnya, ada di drive yang tidak dipetakan).

Nama entri dalam arsip adalah Empty, hanya berisi spasi kosong, atau berisi setidaknya satu karakter yang tidak valid.

-atau-

Mengekstrak entri dari arsip akan membuat file yang berada di luar direktori yang ditentukan oleh destinationDirectoryName. (Misalnya, ini mungkin terjadi jika nama entri berisi pengaktor direktori induk.)

-atau-

Dua entri atau lebih dalam arsip memiliki nama yang sama.

Pemanggil tidak memiliki izin yang diperlukan untuk menulis ke direktori tujuan.

destinationDirectoryName berisi format yang tidak valid.

Entri arsip tidak dapat ditemukan atau rusak.

-atau-

Entri arsip dikompresi dengan menggunakan metode pemadatan yang tidak didukung.

Contoh

Contoh berikut menunjukkan cara membuat entri baru dalam arsip zip dari file yang ada, dan mengekstrak arsip ke direktori baru.

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

Keterangan

Metode ini membuat direktori yang ditentukan oleh destinationDirectoryName. Metode ini juga membuat subdirektori yang mencerminkan hierarki dalam arsip zip. Jika terjadi kesalahan selama ekstraksi, arsip tetap diekstraksi sebagian. Setiap file yang diekstrak memiliki jalur relatif yang sama ke direktori yang ditentukan oleh karena destinationDirectoryName entri sumbernya memiliki akar arsip.

Berlaku untuk

ExtractToDirectory(ZipArchive, String, Boolean)

Sumber:
ZipFileExtensions.ZipArchive.Extract.cs
Sumber:
ZipFileExtensions.ZipArchive.Extract.cs
Sumber:
ZipFileExtensions.ZipArchive.Extract.cs

Mengekstrak semua file dalam arsip ke direktori pada sistem file.

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)

Parameter

source
ZipArchive

untuk ZipArchive mengekstrak.

destinationDirectoryName
String

Jalur ke direktori tujuan pada sistem file. Jalurnya bisa relatif atau absolut. Jalur relatif ditafsirkan relatif terhadap direktori kerja saat ini.

overwriteFiles
Boolean

true untuk menimpa file yang ada; false Sebaliknya.

Pengecualian

destinationArchiveFileName adalah string panjang nol, hanya berisi spasi kosong, atau berisi satu atau beberapa karakter yang tidak valid seperti yang didefinisikan oleh InvalidPathChars.

destinationArchiveFileNameadalah null.

Jalur yang ditentukan, nama file, atau keduanya melebihi panjang maksimum yang ditentukan sistem.

Jalur yang ditentukan tidak valid (misalnya, ada di drive yang tidak dipetakan).

Nama panjangnya ZipArchiveEntry nol, hanya berisi spasi kosong, atau berisi satu atau beberapa karakter yang tidak valid seperti yang didefinisikan oleh InvalidPathChars.

-atau-

ZipArchiveEntry Mengekstrak akan menghasilkan file tujuan yang berada di luar destinationArchiveFileName (misalnya, jika nama entri berisi pengaktor direktori induk).

-atau-

A ZipArchiveEntry memiliki nama yang sama dengan entri yang sudah diekstrak dari arsip yang sama.

Pemanggil tidak memiliki izin yang diperlukan.

destinationArchiveFileName dalam format yang tidak valid.

A ZipArchiveEntry tidak ditemukan atau rusak.

-atau-

ZipArchiveEntry telah dikompresi menggunakan metode pemadatan yang tidak didukung.

Keterangan

Direktori yang ditentukan mungkin sudah ada. Metode ini membuat direktori yang ditentukan dan semua subdirektori jika perlu.

Jika ada kesalahan saat mengekstrak arsip, arsip akan tetap diekstraksi sebagian.

Setiap entri diekstrak sedih sehingga file yang diekstraksi memiliki jalur relatif yang sama dengan destinationDirectoryName entri yang memiliki ke akar arsip.

Jika file yang akan diarsipkan memiliki waktu modifikasi terakhir yang tidak valid, tanggal dan waktu pertama yang dapat diwakili dalam format tanda waktu Zip (tengah malam pada 1 Januari 1980) digunakan.

Berlaku untuk