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
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 bir 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 giriş için bir sarmalayıcı.
Özel durumlar
sourceFileName
, Emptyyalnızca boşluk içerir veya en az bir geçersiz karakter içerir.
-veya-
entryName
, Empty değeridir.
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 sourceFileName
belirtilen 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 sourceFileName
belirtilen dosyanın içeriğini içerir. Arşivde belirtilen ada (entryName
) sahip bir girdi zaten varsa, aynı ada sahip ikinci bir giriş oluşturulur. LastWriteTime girdisinin özelliği, dosya sistemindeki dosyanın son değiştirildiği zamana ayarlanır.
Mevcut olduğunda ZipArchiveMode.Update
, bir girişin boyut sınırı ile Int32.MaxValuesınırlıdır. Bu sınırın nedeni, güncelleştirme modunun MemoryStream bir arşivi güncelleştirirken gerekli aramaya izin vermek için dahili olarak kullanması 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 bir 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
Giriş oluşturulurken hızın veya sıkıştırma etkinliğinin vurgulanıp vurgulanmayacağını belirten numaralandırma değerlerinden biri.
Döndürülenler
Zip arşivindeki yeni giriş için bir sarmalayıcı.
Özel durumlar
sourceFileName
, Emptyyalnızca boşluk içerir veya en az bir geçersiz karakter içerir.
-veya-
entryName
, Empty değeridir.
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 sourceFileName
belirtilen 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ş oluşturma ve sıkıştırma düzeyini belirtme işlemi 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 sourceFileName
belirtilen dosyanın içeriğini içerir. Arşivde belirtilen ada (entryName
) sahip bir girdi zaten varsa, aynı ada sahip ikinci bir giriş oluşturulur. LastWriteTime girdisinin özelliği, dosya sistemindeki dosyanın son değiştirildiği zamana ayarlanır.
Mevcut olduğunda ZipArchiveMode.Update
, bir girişin boyut sınırı ile Int32.MaxValuesınırlıdır. Bu sınırın nedeni, güncelleştirme modunun MemoryStream bir arşivi güncelleştirirken gerekli aramaya izin vermek için dahili olarak kullanması ve MemoryStream int boyutuna eşit maksimum değere sahip olmasıdır.