ZipFileExtensions.CreateEntryFromFile Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Dosyayı sıkıştırıp zip arşivine ekleyerek arşivler.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| CreateEntryFromFile(ZipArchive, String, String) |
Dosyayı sıkıştırıp zip arşivine ekleyerek arşivler. |
| CreateEntryFromFile(ZipArchive, String, String, CompressionLevel) |
Belirtilen sıkıştırma düzeyini kullanarak sıkıştırıp zip arşivine ekleyerek dosyayı arşivler. |
CreateEntryFromFile(ZipArchive, String, String)
Dosyayı sıkıştırıp zip arşivine ekleyerek arşivler.
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
Parametreler
- destination
- ZipArchive
Dosyanın ekleneceği zip arşivi.
- sourceFileName
- String
Arşivlenecek dosyanın yolu. Göreli veya mutlak bir yol belirtebilirsiniz. Göreli yol, geçerli çalışma dizinine göre yorumlanır.
- entryName
- String
Zip arşivinde oluşturulacak girişin adı.
Döndürülenler
Zip arşivindeki yeni girdi için sarmalayıcı.
Özel durumlar
sourceFileName , Emptyyalnızca boşluk içerir veya en az bir geçersiz karakter içerir.
-veya-
entryName, Empty'e eşittir.
sourceFileName veya entryName şeklindedir null.
içinde sourceFileName, belirtilen yol, dosya adı veya her ikisi de sistem tanımlı uzunluk üst sınırını aşıyor.
sourceFileName geçersizdir (örneğin, eşlenmemiş bir sürücüdedir).
tarafından sourceFileName belirtilen dosya açılamıyor veya güncelleştirilemeyecek kadar büyük (geçerli sınır Int32.MaxValue.
sourceFileName bir dizin belirtir.
-veya-
Çağıranın tarafından sourceFileNamebelirtilen dosyaya erişmek için gerekli izni yok.
tarafından sourceFileName belirtilen dosya bulunamadı.
sourceFileName Parametre geçersiz bir biçimde.
-veya-
Zip arşivi yazmayı desteklemiyor.
Zip arşivi atıldı.
Örnekler
Aşağıdaki örnekte, mevcut bir dosyadan zip arşivinde yeni bir girişin nasıl oluşturulacağı gösterilmektedir.
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
Açıklamalar
Arşivdeki yeni girdi, tarafından sourceFileNamebelirtilen dosyanın içeriğini içerir. Belirtilen ada (entryName) sahip bir girdi arşivde zaten varsa, aynı ada sahip ikinci bir giriş oluşturulur. Girdinin LastWriteTime özelliği, dosya sistemindeki dosyanın son değiştirildiği zamana ayarlanır.
Mevcut olduğunda ZipArchiveMode.Update , girdinin boyut sınırı ile Int32.MaxValuesınırlıdır. Bu sınırın nedeni, güncelleştirme modunun bir arşivi güncelleştirirken gerekli aramaya izin vermek için dahili olarak bir kullanması MemoryStream ve MemoryStream int boyutuna eşit maksimum değere sahip olmasıdır.
Şunlara uygulanır
CreateEntryFromFile(ZipArchive, String, String, CompressionLevel)
Belirtilen sıkıştırma düzeyini kullanarak sıkıştırıp zip arşivine ekleyerek dosyayı arşivler.
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
Parametreler
- destination
- ZipArchive
Dosyanın ekleneceği zip arşivi.
- sourceFileName
- String
Arşivlenecek dosyanın yolu. Göreli veya mutlak bir yol belirtebilirsiniz. Göreli yol, geçerli çalışma dizinine göre yorumlanır.
- entryName
- String
Zip arşivinde oluşturulacak girişin adı.
- compressionLevel
- CompressionLevel
Girdiyi oluştururken hızın mı yoksa sıkıştırma etkinliğinin mi vurgulanmayacağını gösteren numaralandırma değerlerinden biri.
Döndürülenler
Zip arşivindeki yeni girdi için sarmalayıcı.
Özel durumlar
sourceFileName , Emptyyalnızca boşluk içerir veya en az bir geçersiz karakter içerir.
-veya-
entryName, Empty'e eşittir.
sourceFileName veya entryName şeklindedir null.
sourceFileName geçersizdir (örneğin, eşlenmemiş bir sürücüdedir).
içinde sourceFileName, belirtilen yol, dosya adı veya her ikisi de sistem tanımlı uzunluk üst sınırını aşıyor.
tarafından sourceFileName belirtilen dosya açılamıyor veya güncelleştirilemeyecek kadar büyük (geçerli sınır Int32.MaxValue.
sourceFileName bir dizin belirtir.
-veya-
Çağıranın tarafından sourceFileNamebelirtilen dosyaya erişmek için gerekli izni yok.
tarafından sourceFileName belirtilen dosya bulunamadı.
sourceFileName Parametre geçersiz bir biçimde.
-veya-
Zip arşivi yazmayı desteklemiyor.
Zip arşivi atıldı.
Örnekler
Aşağıdaki örnekte, mevcut bir dosyadan zip arşivinde yeni bir girdi oluşturma ve sıkıştırma düzeyini belirtme gösterilmektedir.
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
Açıklamalar
Arşivdeki yeni girdi, tarafından sourceFileNamebelirtilen dosyanın içeriğini içerir. Belirtilen ada (entryName) sahip bir girdi arşivde zaten varsa, aynı ada sahip ikinci bir giriş oluşturulur. Girdinin LastWriteTime özelliği, dosya sistemindeki dosyanın son değiştirildiği zamana ayarlanır.
Mevcut olduğunda ZipArchiveMode.Update , girdinin boyut sınırı ile Int32.MaxValuesınırlıdır. Bu sınırın nedeni, güncelleştirme modunun bir arşivi güncelleştirirken gerekli aramaya izin vermek için dahili olarak bir kullanması MemoryStream ve MemoryStream int boyutuna eşit maksimum değere sahip olmasıdır.