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-
entryName
adalah 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-
entryName
adalah 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.