ZipFileExtensions.CreateEntryFromFile 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.
Mengarsipkan file dengan mengompresinya dan menambahkannya ke arsip zip.
Overload
| CreateEntryFromFile(ZipArchive, String, String) |
Mengarsipkan file dengan mengompresinya dan menambahkannya ke arsip zip. |
| CreateEntryFromFile(ZipArchive, String, String, CompressionLevel) |
Mengarsipkan file dengan mengompresinya menggunakan tingkat kompresi yang ditentukan dan menambahkannya ke arsip zip. |
CreateEntryFromFile(ZipArchive, String, String)
Mengarsipkan file dengan mengompresinya dan menambahkannya ke arsip zip.
public:
[System::Runtime::CompilerServices::Extension]
static System::IO::Compression::ZipArchiveEntry ^ CreateEntryFromFile(System::IO::Compression::ZipArchive ^ destination, System::String ^ sourceFileName, System::String ^ entryName);
public static System.IO.Compression.ZipArchiveEntry CreateEntryFromFile (this System.IO.Compression.ZipArchive destination, string sourceFileName, string entryName);
static member CreateEntryFromFile : System.IO.Compression.ZipArchive * string * string -> System.IO.Compression.ZipArchiveEntry
<Extension()>
Public Function CreateEntryFromFile (destination As ZipArchive, sourceFileName As String, entryName As String) As ZipArchiveEntry
Parameter
- destination
- ZipArchive
Arsip zip untuk menambahkan file.
- sourceFileName
- String
Jalur ke file yang akan diarsipkan. Anda dapat menentukan jalur relatif atau absolut. Jalur relatif ditafsirkan relatif terhadap direktori kerja saat ini.
- entryName
- String
Nama entri yang akan dibuat dalam arsip zip.
Mengembalikan
Pembungkus untuk entri baru dalam arsip zip.
Pengecualian
sourceFileName adalah Empty, hanya berisi spasi kosong, atau berisi setidaknya satu karakter yang tidak valid.
-atau-
entryNameadalah Empty.
sourceFileName atau entryName adalah null.
Dalam sourceFileName, jalur yang ditentukan, nama file, atau keduanya melebihi panjang maksimum yang ditentukan sistem.
sourceFileName tidak valid (misalnya, ada di drive yang tidak dipetakan).
File yang ditentukan oleh sourceFileName tidak dapat dibuka, atau terlalu besar untuk diperbarui (batas saat ini adalah Int32.MaxValue).
sourceFileName menentukan direktori.
-atau-
Pemanggil tidak memiliki izin yang diperlukan untuk mengakses file yang ditentukan oleh sourceFileName.
File yang ditentukan oleh sourceFileName tidak ditemukan.
Parameter sourceFileName dalam format yang tidak valid.
-atau-
Arsip zip tidak mendukung penulisan.
Arsip zip telah dibuang.
Contoh
Contoh berikut menunjukkan cara membuat entri baru dalam arsip zip dari file yang sudah ada.
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
Entri baru dalam arsip berisi konten file yang ditentukan oleh sourceFileName. Jika entri dengan nama yang ditentukan (entryName) sudah ada dalam arsip, entri kedua dibuat dengan nama yang identik. Properti LastWriteTime entri diatur ke terakhir kali file pada sistem file diubah.
Ketika ZipArchiveMode.Update ada, batas ukuran entri terbatas pada Int32.MaxValue. Batas ini karena mode pembaruan menggunakan MemoryStream secara internal untuk memungkinkan pencarian yang diperlukan saat memperbarui arsip, dan MemoryStream memiliki maksimum yang sama dengan ukuran int.
Berlaku untuk
CreateEntryFromFile(ZipArchive, String, String, CompressionLevel)
Mengarsipkan file dengan mengompresinya menggunakan tingkat kompresi yang ditentukan dan menambahkannya ke arsip zip.
public:
[System::Runtime::CompilerServices::Extension]
static System::IO::Compression::ZipArchiveEntry ^ CreateEntryFromFile(System::IO::Compression::ZipArchive ^ destination, System::String ^ sourceFileName, System::String ^ entryName, System::IO::Compression::CompressionLevel compressionLevel);
public static System.IO.Compression.ZipArchiveEntry CreateEntryFromFile (this System.IO.Compression.ZipArchive destination, string sourceFileName, string entryName, System.IO.Compression.CompressionLevel compressionLevel);
static member CreateEntryFromFile : System.IO.Compression.ZipArchive * string * string * System.IO.Compression.CompressionLevel -> System.IO.Compression.ZipArchiveEntry
<Extension()>
Public Function CreateEntryFromFile (destination As ZipArchive, sourceFileName As String, entryName As String, compressionLevel As CompressionLevel) As ZipArchiveEntry
Parameter
- destination
- ZipArchive
Arsip zip untuk menambahkan file.
- sourceFileName
- String
Jalur ke file yang akan diarsipkan. Anda dapat menentukan jalur relatif atau absolut. Jalur relatif ditafsirkan relatif terhadap direktori kerja saat ini.
- entryName
- String
Nama entri yang akan dibuat dalam arsip zip.
- compressionLevel
- CompressionLevel
Salah satu nilai enumerasi yang menunjukkan apakah akan menekankan kecepatan atau efektivitas kompresi saat membuat entri.
Mengembalikan
Pembungkus untuk entri baru dalam arsip zip.
Pengecualian
sourceFileName adalah Empty, hanya berisi spasi kosong, atau berisi setidaknya satu karakter yang tidak valid.
-atau-
entryNameadalah Empty.
sourceFileName atau entryName adalah null.
sourceFileName tidak valid (misalnya, ada di drive yang tidak dipetakan).
Dalam sourceFileName, jalur yang ditentukan, nama file, atau keduanya melebihi panjang maksimum yang ditentukan sistem.
File yang ditentukan oleh sourceFileName tidak dapat dibuka, atau terlalu besar untuk diperbarui (batas saat ini adalah Int32.MaxValue).
sourceFileName menentukan direktori.
-atau-
Pemanggil tidak memiliki izin yang diperlukan untuk mengakses file yang ditentukan oleh sourceFileName.
File yang ditentukan oleh sourceFileName tidak ditemukan.
Parameter sourceFileName dalam format yang tidak valid.
-atau-
Arsip zip tidak mendukung penulisan.
Arsip zip telah dibuang.
Contoh
Contoh berikut menunjukkan cara membuat entri baru dalam arsip zip dari file yang ada, dan menentukan tingkat kompresi.
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", CompressionLevel.Fastest);
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
Entri baru dalam arsip berisi konten file yang ditentukan oleh sourceFileName. Jika entri dengan nama yang ditentukan (entryName) sudah ada dalam arsip, entri kedua dibuat dengan nama yang identik. Properti LastWriteTime entri diatur ke terakhir kali file pada sistem file diubah.
Ketika ZipArchiveMode.Update ada, batas ukuran entri terbatas pada Int32.MaxValue. Batas ini karena mode pembaruan menggunakan MemoryStream secara internal untuk memungkinkan pencarian yang diperlukan saat memperbarui arsip, dan MemoryStream memiliki maksimum yang sama dengan ukuran int.