Bagikan melalui


ZipFile.ExtractToDirectory Metode

Definisi

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

Overload

ExtractToDirectory(String, String, Encoding, Boolean)

Mengekstrak semua file dalam arsip yang ditentukan ke direktori pada sistem file.

ExtractToDirectory(Stream, String, Encoding, Boolean)

Mengekstrak semua file dari arsip zip yang disimpan dalam aliran yang ditentukan dan menempatkannya di direktori tujuan yang ditentukan pada sistem file, menggunakan pengodean karakter yang ditentukan untuk nama entri, dan secara opsional memungkinkan memilih apakah file di direktori tujuan harus ditimpa.

ExtractToDirectory(String, String, Encoding)

Mengekstrak semua file dalam arsip zip yang ditentukan ke direktori pada sistem file dan menggunakan pengodean karakter yang ditentukan untuk nama entri.

ExtractToDirectory(String, String, Boolean)

Mengekstrak semua file dalam arsip yang ditentukan ke direktori pada sistem file.

ExtractToDirectory(Stream, String, Boolean)

Mengekstrak semua file dari arsip zip yang disimpan dalam aliran yang ditentukan dan menempatkannya di direktori tujuan yang ditentukan pada sistem file, dan secara opsional memungkinkan memilih apakah file di direktori tujuan harus ditimpa.

ExtractToDirectory(String, String)

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

ExtractToDirectory(Stream, String)

Mengekstrak semua file dari arsip zip yang disimpan dalam aliran yang ditentukan dan menempatkannya di direktori tujuan yang ditentukan pada sistem file.

ExtractToDirectory(Stream, String, Encoding)

Mengekstrak semua file dari arsip zip yang disimpan dalam aliran yang ditentukan dan menempatkannya di direktori tujuan yang ditentukan pada sistem file dan menggunakan pengodean karakter yang ditentukan untuk nama entri.

ExtractToDirectory(String, String, Encoding, Boolean)

Sumber:
ZipFile.Extract.cs
Sumber:
ZipFile.Extract.cs
Sumber:
ZipFile.Extract.cs

Mengekstrak semua file dalam arsip yang ditentukan ke direktori pada sistem file.

public:
 static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding, bool overwriteFiles);
public static void ExtractToDirectory (string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, bool overwriteFiles);
public static void ExtractToDirectory (string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding entryNameEncoding, bool overwriteFiles);
static member ExtractToDirectory : string * string * System.Text.Encoding * bool -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String, entryNameEncoding As Encoding, overwriteFiles As Boolean)

Parameter

sourceArchiveFileName
String

Jalur pada sistem file ke arsip yang akan diekstrak.

destinationDirectoryName
String

Jalur ke direktori tujuan pada sistem file.

entryNameEncoding
Encoding

Pengodean yang digunakan saat membaca nama entri dalam ini ZipArchive.

overwriteFiles
Boolean

true untuk menimpa file; false Sebaliknya.

Pengecualian

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

-atau-

entryNameEncoding diatur ke pengodean Unicode selain UTF-8.

sourceArchiveFileName atau destinationDirectoryName adalah null.

sourceArchiveFileName atau destinationDirectoryName menentukan jalur, nama file, atau keduanya yang melebihi panjang maksimum yang ditentukan sistem.

Jalur yang ditentukan oleh sourceArchiveFileName atau destinationDirectoryName tidak valid (misalnya, jalur tersebut berada pada drive yang tidak dipetakan).

overwriteFiles adalah false dan entri arsip untuk diekstrak memiliki nama yang sama dengan file yang sudah ada di destinationDirectoryName.

-atau-

Terjadi kesalahan I/O.

-atau-

Nama panjang 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 tujuan file yang berada di luar direktori tujuan (misalnya, karena aksesor direktori induk).

-atau-

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

Pemanggil tidak memiliki izin yang diperlukan.

sourceArchiveFileName atau destinationDirectoryName dalam format yang tidak valid.

sourceArchiveFileName tidak ditemukan.

Arsip yang ditentukan oleh sourceArchiveFileName tidak valid ZipArchive.

-atau-

Entri arsip tidak ditemukan atau rusak.

-atau-

Entri arsip telah dikompresi menggunakan metode pemadatan yang tidak didukung.

Keterangan

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

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

Parameter sourceArchiveFileName dan destinationDirectoryName menerima jalur relatif dan absolut. Jalur relatif ditafsirkan relatif terhadap direktori kerja saat ini.

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) akan digunakan.

Berlaku untuk

ExtractToDirectory(Stream, String, Encoding, Boolean)

Sumber:
ZipFile.Extract.cs
Sumber:
ZipFile.Extract.cs

Mengekstrak semua file dari arsip zip yang disimpan dalam aliran yang ditentukan dan menempatkannya di direktori tujuan yang ditentukan pada sistem file, menggunakan pengodean karakter yang ditentukan untuk nama entri, dan secara opsional memungkinkan memilih apakah file di direktori tujuan harus ditimpa.

public:
 static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding, bool overwriteFiles);
public static void ExtractToDirectory (System.IO.Stream source, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, bool overwriteFiles);
static member ExtractToDirectory : System.IO.Stream * string * System.Text.Encoding * bool -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String, entryNameEncoding As Encoding, overwriteFiles As Boolean)

Parameter

source
Stream

Aliran tempat arsip zip akan diekstrak.

destinationDirectoryName
String

Jalur ke direktori untuk menempatkan file yang diekstrak, ditentukan sebagai jalur relatif atau absolut. Jalur relatif ditafsirkan relatif terhadap direktori kerja saat ini.

entryNameEncoding
Encoding

Pengodean yang digunakan saat membaca atau menulis nama entri dalam arsip ini. Tentukan nilai untuk parameter ini hanya ketika pengodean diperlukan untuk interoperabilitas dengan alat arsip zip dan pustaka yang tidak mendukung pengodean UTF-8 untuk nama entri.

overwriteFiles
Boolean

true untuk menimpa file; false Sebaliknya.

Pengecualian

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

-atau-

entryNameEncoding diatur ke pengodean Unicode selain UTF-8.

destinationDirectoryName atau source adalah null.

Jalur yang ditentukan melebihi destinationDirectoryName panjang maksimum yang ditentukan sistem.

Jalur yang ditentukan tidak valid (misalnya, jalur tersebut berada pada 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 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-

overwriteFiles adalah false dan entri arsip untuk diekstrak memiliki nama yang sama dengan entri yang telah diekstrak atau yang ada di destinationDirectoryName.

Pemanggil tidak memiliki izin yang diperlukan untuk mengakses arsip atau direktori tujuan.

destinationDirectoryName berisi format yang tidak valid.

Arsip yang terkandung dalam source aliran bukan arsip zip yang valid.

-atau-

Entri arsip tidak ditemukan atau rusak.

-atau-

Entri arsip dikompresi dengan menggunakan metode pemadatan yang tidak didukung.

Keterangan

Metode ini membuat direktori yang ditentukan dan semua subdirektori. Direktori tujuan belum ada. Pengecualian yang terkait dengan memvalidasi jalur dalam destinationDirectoryName atau file dalam arsip zip yang terkandung dalam source parameter dilemparkan sebelum ekstraksi. Jika tidak, jika terjadi kesalahan selama ekstraksi, arsip tetap diekstraksi sebagian. Setiap file yang diekstrak memiliki jalur relatif yang sama ke direktori yang ditentukan oleh destinationDirectoryName karena entri sumbernya 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) akan digunakan.

Berlaku untuk

ExtractToDirectory(String, String, Encoding)

Sumber:
ZipFile.Extract.cs
Sumber:
ZipFile.Extract.cs
Sumber:
ZipFile.Extract.cs

Mengekstrak semua file dalam arsip zip yang ditentukan ke direktori pada sistem file dan menggunakan pengodean karakter yang ditentukan untuk nama entri.

public:
 static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding);
public static void ExtractToDirectory (string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding entryNameEncoding);
public static void ExtractToDirectory (string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding);
static member ExtractToDirectory : string * string * System.Text.Encoding -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String, entryNameEncoding As Encoding)

Parameter

sourceArchiveFileName
String

Jalur ke arsip yang akan diekstraksi.

destinationDirectoryName
String

Jalur ke direktori untuk menempatkan file yang diekstrak, ditentukan sebagai jalur relatif atau absolut. Jalur relatif ditafsirkan relatif terhadap direktori kerja saat ini.

entryNameEncoding
Encoding

Pengodean yang digunakan saat membaca atau menulis nama entri dalam arsip ini. Tentukan nilai untuk parameter ini hanya ketika pengodean diperlukan untuk interoperabilitas dengan alat arsip zip dan pustaka yang tidak mendukung pengodean UTF-8 untuk nama entri.

Pengecualian

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

-atau-

entryNameEncoding diatur ke pengodean Unicode selain UTF-8.

destinationDirectoryName atau sourceArchiveFileName adalah null.

Jalur yang ditentukan dalam destinationDirectoryName atau sourceArchiveFileName melebihi panjang maksimum yang ditentukan sistem.

Jalur yang ditentukan tidak valid (misalnya, jalur tersebut berada pada 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 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-

Entri arsip untuk diekstrak memiliki nama yang sama dengan entri yang telah diekstrak atau yang ada di destinationDirectoryName.

Pemanggil tidak memiliki izin yang diperlukan untuk mengakses arsip atau direktori tujuan.

destinationDirectoryName atau sourceArchiveFileName berisi format yang tidak valid.

sourceArchiveFileName tidak ditemukan.

Arsip yang ditentukan oleh sourceArchiveFileName bukan arsip zip yang valid.

-atau-

Entri arsip tidak ditemukan atau rusak.

-atau-

Entri arsip dikompresi dengan menggunakan metode pemadatan yang tidak didukung.

Keterangan

Metode ini membuat direktori yang ditentukan dan semua subdirektori, jika perlu. Pengecualian yang terkait dengan memvalidasi jalur dalam destinationDirectoryName parameter atau sourceArchiveFileName dilemparkan sebelum ekstraksi. Jika tidak, jika terjadi kesalahan selama ekstraksi, arsip tetap diekstraksi sebagian. Setiap file yang diekstrak memiliki jalur relatif yang sama ke direktori yang ditentukan oleh destinationDirectoryName karena entri sumbernya memiliki ke akar arsip.

Jika entryNameEncoding diatur ke nilai selain null, nama entri didekodekan sesuai dengan aturan berikut:

  • Untuk nama entri tempat bendera pengodean bahasa (dalam bendera bit tujuan umum header file lokal) tidak diatur, nama entri didekodekan dengan menggunakan pengodean yang ditentukan.
  • Untuk entri tempat bendera pengodean bahasa diatur, nama entri didekodekan dengan menggunakan UTF-8.

Jika entryNameEncoding diatur ke null, nama entri didekodekan sesuai dengan aturan berikut:

  • Untuk entri di mana bendera pengodean bahasa (dalam bendera bit tujuan umum header file lokal) tidak diatur, nama entri didekodekan dengan menggunakan halaman kode default sistem saat ini.
  • Untuk entri tempat bendera pengodean bahasa diatur, nama entri didekodekan dengan menggunakan UTF-8.

Berlaku untuk

ExtractToDirectory(String, String, Boolean)

Sumber:
ZipFile.Extract.cs
Sumber:
ZipFile.Extract.cs
Sumber:
ZipFile.Extract.cs

Mengekstrak semua file dalam arsip yang ditentukan ke direktori pada sistem file.

public:
 static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName, bool overwriteFiles);
public static void ExtractToDirectory (string sourceArchiveFileName, string destinationDirectoryName, bool overwriteFiles);
static member ExtractToDirectory : string * string * bool -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String, overwriteFiles As Boolean)

Parameter

sourceArchiveFileName
String

Jalur pada sistem file ke arsip yang akan diekstrak.

destinationDirectoryName
String

Jalur ke direktori tujuan pada sistem file.

overwriteFiles
Boolean

true untuk menimpa file; false Sebaliknya.

Pengecualian

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

sourceArchiveFileName atau destinationDirectoryName adalah null.

sourceArchiveFileName atau destinationDirectoryName menentukan jalur, nama file, atau keduanya yang melebihi panjang maksimum yang ditentukan sistem.

Jalur yang ditentukan oleh sourceArchiveFileName atau destinationDirectoryName tidak valid (misalnya, jalur tersebut berada pada drive yang tidak dipetakan).

overwriteFiles adalah false dan destinationDirectoryName sudah berisi file dengan nama yang sama dengan file yang sedang diekstrak.

-atau-

Terjadi kesalahan I/O.

-atau-

Nama panjang 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 tujuan file yang berada di luar direktori tujuan (misalnya, karena aksesor direktori induk).

-atau-

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

Pemanggil tidak memiliki izin yang diperlukan.

sourceArchiveFileName atau destinationDirectoryName dalam format yang tidak valid.

sourceArchiveFileName tidak ditemukan.

Arsip yang ditentukan oleh sourceArchiveFileName tidak valid ZipArchive.

-atau-

A ZipArchiveEntry tidak ditemukan atau rusak.

-atau-

ZipArchiveEntry telah dikompresi menggunakan metode kompresi yang tidak didukung.

Keterangan

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

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

Parameter sourceArchiveFileName dan destinationDirectoryName menerima jalur relatif dan absolut. Jalur relatif ditafsirkan relatif terhadap direktori kerja saat ini.

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) akan digunakan.

Berlaku untuk

ExtractToDirectory(Stream, String, Boolean)

Sumber:
ZipFile.Extract.cs
Sumber:
ZipFile.Extract.cs

Mengekstrak semua file dari arsip zip yang disimpan dalam aliran yang ditentukan dan menempatkannya di direktori tujuan yang ditentukan pada sistem file, dan secara opsional memungkinkan memilih apakah file di direktori tujuan harus ditimpa.

public:
 static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName, bool overwriteFiles);
public static void ExtractToDirectory (System.IO.Stream source, string destinationDirectoryName, bool overwriteFiles);
static member ExtractToDirectory : System.IO.Stream * string * bool -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String, overwriteFiles As Boolean)

Parameter

source
Stream

Aliran tempat arsip zip akan diekstrak.

destinationDirectoryName
String

Jalur ke direktori untuk menempatkan file yang diekstrak, ditentukan sebagai jalur relatif atau absolut. Jalur relatif ditafsirkan relatif terhadap direktori kerja saat ini.

overwriteFiles
Boolean

true untuk menimpa file; false Sebaliknya.

Pengecualian

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

destinationDirectoryName atau source adalah null.

Jalur yang ditentukan melebihi destinationDirectoryName panjang maksimum yang ditentukan sistem.

Jalur yang ditentukan tidak valid (misalnya, jalur tersebut berada pada 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 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-

overwriteFiles adalah false dan entri arsip untuk diekstrak memiliki nama yang sama dengan entri yang telah diekstrak atau yang ada di destinationDirectoryName.

Pemanggil tidak memiliki izin yang diperlukan untuk mengakses arsip atau direktori tujuan.

destinationDirectoryName berisi format yang tidak valid.

Arsip yang terkandung dalam source aliran bukan arsip zip yang valid.

-atau-

Entri arsip tidak ditemukan atau rusak.

-atau-

Entri arsip dikompresi dengan menggunakan metode pemadatan yang tidak didukung.

Keterangan

Metode ini membuat direktori yang ditentukan dan semua subdirektori. Direktori tujuan belum ada. Pengecualian yang terkait dengan memvalidasi jalur dalam destinationDirectoryName atau file dalam arsip zip yang terkandung dalam source parameter dilemparkan sebelum ekstraksi. Jika tidak, jika terjadi kesalahan selama ekstraksi, arsip tetap diekstraksi sebagian. Setiap file yang diekstrak memiliki jalur relatif yang sama ke direktori yang ditentukan oleh destinationDirectoryName karena entri sumbernya 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) akan digunakan.

Berlaku untuk

ExtractToDirectory(String, String)

Sumber:
ZipFile.Extract.cs
Sumber:
ZipFile.Extract.cs
Sumber:
ZipFile.Extract.cs

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

public:
 static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName);
public static void ExtractToDirectory (string sourceArchiveFileName, string destinationDirectoryName);
static member ExtractToDirectory : string * string -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String)

Parameter

sourceArchiveFileName
String

Jalur ke arsip yang akan diekstraksi.

destinationDirectoryName
String

Jalur ke direktori untuk menempatkan file yang diekstrak, ditentukan sebagai jalur relatif atau absolut. Jalur relatif ditafsirkan relatif terhadap direktori kerja saat ini.

Pengecualian

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

destinationDirectoryName atau sourceArchiveFileName adalah null.

Jalur yang ditentukan dalam destinationDirectoryName atau sourceArchiveFileName melebihi panjang maksimum yang ditentukan sistem.

Jalur yang ditentukan tidak valid (misalnya, jalur tersebut berada pada 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 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-

Entri arsip untuk diekstrak memiliki nama yang sama dengan entri yang telah diekstrak atau yang ada di destinationDirectoryName.

Pemanggil tidak memiliki izin yang diperlukan untuk mengakses arsip atau direktori tujuan.

destinationDirectoryName atau sourceArchiveFileName berisi format yang tidak valid.

sourceArchiveFileName tidak ditemukan.

Arsip yang ditentukan oleh sourceArchiveFileName bukan arsip zip yang valid.

-atau-

Entri arsip tidak ditemukan atau rusak.

-atau-

Entri arsip dikompresi dengan menggunakan metode pemadatan yang tidak didukung.

Contoh

Contoh ini menunjukkan cara membuat dan mengekstrak arsip zip dengan menggunakan ZipFile kelas . Ini memadatkan konten folder ke dalam arsip zip dan mengekstrak konten tersebut ke folder baru. Untuk menggunakan ZipFile kelas , Anda harus mereferensikan assembly System.IO.Compression.FileSystem dalam proyek Anda.

using System;
using System.IO.Compression;

class Program
{
    static void Main(string[] args)
    {
        string startPath = @".\start";
        string zipPath = @".\result.zip";
        string extractPath = @".\extract";

        ZipFile.CreateFromDirectory(startPath, zipPath);

        ZipFile.ExtractToDirectory(zipPath, extractPath);
    }
}
open System.IO.Compression

let startPath = @".\start"
let zipPath = @".\result.zip"
let extractPath = @".\extract"

ZipFile.CreateFromDirectory(startPath, zipPath)

ZipFile.ExtractToDirectory(zipPath, extractPath)
Imports System.IO.Compression

Module Module1

    Sub Main()
        Dim startPath As String = ".\start"
        Dim zipPath As String = ".\result.zip"
        Dim extractPath As String = ".\extract"

        ZipFile.CreateFromDirectory(startPath, zipPath)

        ZipFile.ExtractToDirectory(zipPath, extractPath)
    End Sub

End Module

Keterangan

Metode ini membuat direktori yang ditentukan dan semua subdirektori. Direktori tujuan belum ada. Pengecualian yang terkait dengan memvalidasi jalur dalam destinationDirectoryName parameter atau sourceArchiveFileName dilemparkan sebelum ekstraksi. Jika tidak, jika terjadi kesalahan selama ekstraksi, arsip tetap diekstraksi sebagian. Setiap file yang diekstrak memiliki jalur relatif yang sama ke direktori yang ditentukan oleh destinationDirectoryName karena entri sumbernya memiliki ke akar arsip.

Berlaku untuk

ExtractToDirectory(Stream, String)

Sumber:
ZipFile.Extract.cs
Sumber:
ZipFile.Extract.cs

Mengekstrak semua file dari arsip zip yang disimpan dalam aliran yang ditentukan dan menempatkannya di direktori tujuan yang ditentukan pada sistem file.

public:
 static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName);
public static void ExtractToDirectory (System.IO.Stream source, string destinationDirectoryName);
static member ExtractToDirectory : System.IO.Stream * string -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String)

Parameter

source
Stream

Aliran tempat arsip zip akan diekstrak.

destinationDirectoryName
String

Jalur ke direktori untuk menempatkan file yang diekstrak, ditentukan sebagai 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.

destinationDirectoryName atau source adalah null.

Jalur yang ditentukan melebihi destinationDirectoryName panjang maksimum yang ditentukan sistem.

Jalur yang ditentukan tidak valid (misalnya, jalur tersebut berada pada 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 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-

Entri arsip untuk diekstrak memiliki nama yang sama dengan entri yang telah diekstrak atau yang ada di destinationDirectoryName.

Pemanggil tidak memiliki izin yang diperlukan untuk mengakses arsip atau direktori tujuan.

destinationDirectoryName berisi format yang tidak valid.

Arsip yang terkandung dalam source aliran bukan arsip zip yang valid.

-atau-

Entri arsip tidak ditemukan atau rusak.

-atau-

Entri arsip dikompresi dengan menggunakan metode pemadatan yang tidak didukung.

Keterangan

Metode ini membuat direktori yang ditentukan dan semua subdirektori. Direktori tujuan belum ada. Pengecualian yang terkait dengan memvalidasi jalur dalam destinationDirectoryName atau file dalam arsip zip yang terkandung dalam source parameter dilemparkan sebelum ekstraksi. Jika tidak, jika terjadi kesalahan selama ekstraksi, arsip tetap diekstraksi sebagian. Setiap file yang diekstrak memiliki jalur relatif yang sama ke direktori yang ditentukan oleh destinationDirectoryName karena entri sumbernya 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) akan digunakan.

Berlaku untuk

ExtractToDirectory(Stream, String, Encoding)

Sumber:
ZipFile.Extract.cs
Sumber:
ZipFile.Extract.cs

Mengekstrak semua file dari arsip zip yang disimpan dalam aliran yang ditentukan dan menempatkannya di direktori tujuan yang ditentukan pada sistem file dan menggunakan pengodean karakter yang ditentukan untuk nama entri.

public:
 static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding);
public static void ExtractToDirectory (System.IO.Stream source, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding);
static member ExtractToDirectory : System.IO.Stream * string * System.Text.Encoding -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String, entryNameEncoding As Encoding)

Parameter

source
Stream

Aliran tempat arsip zip akan diekstrak.

destinationDirectoryName
String

Jalur ke direktori untuk menempatkan file yang diekstrak, ditentukan sebagai jalur relatif atau absolut. Jalur relatif ditafsirkan relatif terhadap direktori kerja saat ini.

entryNameEncoding
Encoding

Pengodean yang digunakan saat membaca atau menulis nama entri dalam arsip ini. Tentukan nilai untuk parameter ini hanya ketika pengodean diperlukan untuk interoperabilitas dengan alat arsip zip dan pustaka yang tidak mendukung pengodean UTF-8 untuk nama entri.

Pengecualian

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

-atau-

entryNameEncoding diatur ke pengodean Unicode selain UTF-8.

destinationDirectoryName atau source adalah null.

Jalur yang ditentukan melebihi destinationDirectoryName panjang maksimum yang ditentukan sistem.

Jalur yang ditentukan tidak valid (misalnya, jalur tersebut berada pada 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 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-

Entri arsip untuk diekstrak memiliki nama yang sama dengan entri yang telah diekstrak atau yang ada di destinationDirectoryName.

Pemanggil tidak memiliki izin yang diperlukan untuk mengakses arsip atau direktori tujuan.

destinationDirectoryName berisi format yang tidak valid.

Arsip yang terkandung dalam source aliran bukan arsip zip yang valid.

-atau-

Entri arsip tidak ditemukan atau rusak.

-atau-

Entri arsip dikompresi dengan menggunakan metode pemadatan yang tidak didukung.

Keterangan

Metode ini membuat direktori yang ditentukan dan semua subdirektori. Direktori tujuan belum ada. Pengecualian yang terkait dengan memvalidasi jalur dalam destinationDirectoryName atau file dalam arsip zip yang terkandung dalam source parameter dilemparkan sebelum ekstraksi. Jika tidak, jika terjadi kesalahan selama ekstraksi, arsip tetap diekstraksi sebagian. Setiap file yang diekstrak memiliki jalur relatif yang sama ke direktori yang ditentukan oleh destinationDirectoryName karena entri sumbernya 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) akan digunakan.

Berlaku untuk