Aracılığıyla paylaş


ZipFileExtensions.CreateEntryFromFile Yöntem

Tanım

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)

Kaynak:
ZipFileExtensions.ZipArchive.Create.cs
Kaynak:
ZipFileExtensions.ZipArchive.Create.cs
Kaynak:
ZipFileExtensions.ZipArchive.Create.cs
Kaynak:
ZipFileExtensions.ZipArchive.Create.cs
Kaynak:
ZipFileExtensions.ZipArchive.Create.cs

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)

Kaynak:
ZipFileExtensions.ZipArchive.Create.cs
Kaynak:
ZipFileExtensions.ZipArchive.Create.cs
Kaynak:
ZipFileExtensions.ZipArchive.Create.cs
Kaynak:
ZipFileExtensions.ZipArchive.Create.cs
Kaynak:
ZipFileExtensions.ZipArchive.Create.cs

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.

Şunlara uygulanır