Sdílet prostřednictvím


ZipFileExtensions.CreateEntryFromFile Metoda

Definice

Archivuje soubor tím, že ho zkomprimuje a přidá do archivu zip.

Přetížení

Name Description
CreateEntryFromFile(ZipArchive, String, String)

Archivuje soubor tím, že ho zkomprimuje a přidá do archivu zip.

CreateEntryFromFile(ZipArchive, String, String, CompressionLevel)

Archivuje soubor tak, že ho zkomprimuje 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
Zdroj:
ZipFileExtensions.ZipArchive.Create.cs
Zdroj:
ZipFileExtensions.ZipArchive.Create.cs

Archivuje soubor tím, že ho zkomprimuje 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 relativní nebo absolutní cestu. Relativní cesta se interpretuje 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 je Empty, obsahuje pouze prázdné znaky nebo obsahuje aspoň jeden neplatný znak.

nebo

entryName je Empty.

sourceFileName nebo entryName je null.

Zadaná sourceFileNamecesta, název souboru nebo obojí překročí maximální délku definovanou systémem.

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

Soubor určený sourceFileName nelze otevřít nebo je příliš velký na aktualizaci (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 uživatelem sourceFileName.

Soubor zadaný službou 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ého 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, limit velikosti položky je omezen na Int32.MaxValue. Tento limit je způsoben tím, že režim aktualizace používá MemoryStream interně k tomu, aby bylo možné hledat při aktualizaci archivu a MemoryStream má maximální hodnotu rovnající se velikosti int.

Platí pro

CreateEntryFromFile(ZipArchive, String, String, CompressionLevel)

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

Archivuje soubor tak, že ho zkomprimuje 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 relativní nebo absolutní cestu. Relativní cesta se interpretuje 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 účinnost rychlosti nebo komprese.

Návraty

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

Výjimky

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

nebo

entryName je Empty.

sourceFileName nebo entryName je null.

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

Zadaná sourceFileNamecesta, název souboru nebo obojí překročí maximální délku definovanou systémem.

Soubor určený sourceFileName nelze otevřít nebo je příliš velký na aktualizaci (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 uživatelem sourceFileName.

Soubor zadaný službou 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ého 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, limit velikosti položky je omezen na Int32.MaxValue. Tento limit je způsoben tím, že režim aktualizace používá MemoryStream interně k tomu, aby bylo možné hledat při aktualizaci archivu a MemoryStream má maximální hodnotu rovnající se velikosti int.

Platí pro