ZipFileExtensions.CreateEntryFromFile Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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)
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 sourceFileName
systé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)
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 sourceFileName
systé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.