Sdílet prostřednictvím


ZipFileExtensions.CreateEntryFromFile Metoda

Definice

Archivuje soubor tak, že ho komprimuje a přidá do archivu zip.

Přetížení

CreateEntryFromFile(ZipArchive, String, String)

Archivuje soubor tak, že ho komprimuje a přidá do archivu zip.

CreateEntryFromFile(ZipArchive, String, String, CompressionLevel)

Archivuje soubor tak, že ho komprimuje pomocí zadané úrovně komprese a přidá ho do archivu zip.

CreateEntryFromFile(ZipArchive, String, String)

Zdroj:
ZipFileExtensions.ZipArchive.Create.cs
Zdroj:
ZipFileExtensions.ZipArchive.Create.cs
Zdroj:
ZipFileExtensions.ZipArchive.Create.cs

Archivuje soubor tak, že ho komprimuje a přidá do archivu 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

Parametry

destination
ZipArchive

Archiv zip, do který chcete soubor přidat.

sourceFileName
String

Cesta k souboru, který se má archivovat. Můžete zadat buď relativní, nebo absolutní cestu. Relativní cesta je interpretována jako relativní vzhledem k aktuálnímu pracovnímu adresáři.

entryName
String

Název položky, která se má vytvořit v archivu zip.

Návraty

Obálka pro novou položku v archivu zip.

Výjimky

sourceFileName is Empty, obsahuje pouze prázdné znaky nebo obsahuje alespoň jeden neplatný znak.

-nebo-

entryName je Empty.

sourceFileName nebo entryName je null.

V sourceFileNamesystému zadaná cesta, název souboru nebo obojí překračují maximální délku definovanou systémem.

sourceFileName je neplatný (například je na nenamapované jednotce).

Soubor určený nástrojem sourceFileName nelze otevřít nebo je příliš velký, aby se aktualizoval (aktuální limit je Int32.MaxValue).

sourceFileName určuje adresář.

-nebo-

Volající nemá požadovaná oprávnění pro přístup k souboru určenému nástrojem sourceFileName.

Soubor zadaný nástrojem sourceFileName nebyl nalezen.

Parametr sourceFileName je v neplatném formátu.

-nebo-

Archiv zip nepodporuje psaní.

Archiv zip byl odstraněn.

Příklady

Následující příklad ukazuje, jak vytvořit novou položku v archivu ZIP z existujícího souboru.

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

Poznámky

Nová položka v archivu obsahuje obsah souboru určený nástrojem sourceFileName. Pokud položka se zadaným názvem (entryName) již v archivu existuje, vytvoří se druhá položka se stejným názvem. Vlastnost LastWriteTime položky je nastavena na čas poslední změny souboru v systému souborů.

Pokud ZipArchiveMode.Update je k dispozici, omezení velikosti položky je omezeno na Int32.MaxValue. Toto omezení je způsobeno tím, že režim aktualizace interně používá MemoryStream k tomu, aby umožňoval hledání požadované při aktualizaci archivu, a MemoryStream má maximální velikost rovna velikosti int.

Platí pro

CreateEntryFromFile(ZipArchive, String, String, CompressionLevel)

Zdroj:
ZipFileExtensions.ZipArchive.Create.cs
Zdroj:
ZipFileExtensions.ZipArchive.Create.cs
Zdroj:
ZipFileExtensions.ZipArchive.Create.cs

Archivuje soubor tak, že ho komprimuje pomocí zadané úrovně komprese a přidá ho do archivu 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

Parametry

destination
ZipArchive

Archiv zip, do který chcete soubor přidat.

sourceFileName
String

Cesta k souboru, který se má archivovat. Můžete zadat buď relativní, nebo absolutní cestu. Relativní cesta je interpretována jako relativní vzhledem k aktuálnímu pracovnímu adresáři.

entryName
String

Název položky, která se má vytvořit v archivu zip.

compressionLevel
CompressionLevel

Jedna z hodnot výčtu, která označuje, zda se má při vytváření položky zdůraznit rychlost nebo účinnost komprese.

Návraty

Obálka pro novou položku v archivu zip.

Výjimky

sourceFileName is Empty, obsahuje pouze prázdné znaky nebo obsahuje alespoň jeden neplatný znak.

-nebo-

entryName je Empty.

sourceFileName nebo entryName je null.

sourceFileName je neplatný (například je na nenamapované jednotce).

V sourceFileNamesystému zadaná cesta, název souboru nebo obojí překračují maximální délku definovanou systémem.

Soubor určený nástrojem sourceFileName nelze otevřít nebo je příliš velký, aby se aktualizoval (aktuální limit je Int32.MaxValue).

sourceFileName určuje adresář.

-nebo-

Volající nemá požadovaná oprávnění pro přístup k souboru určenému nástrojem sourceFileName.

Soubor zadaný nástrojem sourceFileName nebyl nalezen.

Parametr sourceFileName je v neplatném formátu.

-nebo-

Archiv zip nepodporuje psaní.

Archiv zip byl odstraněn.

Příklady

Následující příklad ukazuje, jak vytvořit novou položku v archivu ZIP z existujícího souboru a zadat úroveň komprese.

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

Poznámky

Nová položka v archivu obsahuje obsah souboru určený nástrojem sourceFileName. Pokud položka se zadaným názvem (entryName) již v archivu existuje, vytvoří se druhá položka se stejným názvem. Vlastnost LastWriteTime položky je nastavena na čas poslední změny souboru v systému souborů.

Pokud ZipArchiveMode.Update je k dispozici, omezení velikosti položky je omezeno na Int32.MaxValue. Toto omezení je způsobeno tím, že režim aktualizace interně používá MemoryStream k tomu, aby umožňoval hledání požadované při aktualizaci archivu, a MemoryStream má maximální velikost rovna velikosti int.

Platí pro