ZipFileExtensions.ExtractToDirectory Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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)
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.
destinationDirectoryName
adalah 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)
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.
destinationArchiveFileName
adalah 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.