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

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)

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 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 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. 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)

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 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 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ş 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 sourceFileNamebelirtilen 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