ZipArchive.CreateEntry 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í.
Vytvoří prázdnou položku v archivu zip.
Přetížení
CreateEntry(String) |
Vytvoří prázdnou položku, která má zadanou cestu a název položky v archivu zip. |
CreateEntry(String, CompressionLevel) |
Vytvoří prázdnou položku, která má zadaný název položky a úroveň komprese v archivu zip. |
CreateEntry(String)
- Zdroj:
- ZipArchive.cs
- Zdroj:
- ZipArchive.cs
- Zdroj:
- ZipArchive.cs
Vytvoří prázdnou položku, která má zadanou cestu a název položky v archivu zip.
public:
System::IO::Compression::ZipArchiveEntry ^ CreateEntry(System::String ^ entryName);
public System.IO.Compression.ZipArchiveEntry CreateEntry (string entryName);
member this.CreateEntry : string -> System.IO.Compression.ZipArchiveEntry
Public Function CreateEntry (entryName As String) As ZipArchiveEntry
Parametry
- entryName
- String
Cesta relativní ke kořenovému adresáři archivu, která určuje název položky, která se má vytvořit.
Návraty
Prázdná položka v archivu zip.
Výjimky
entryName
je Empty.
entryName
je null
.
Archiv zip nepodporuje psaní.
Archiv zip byl odstraněn.
Příklady
Následující příklad ukazuje, jak vytvořit položku a zapisovat do ní pomocí datového proudu.
using System;
using System.IO;
using System.IO.Compression;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
using (FileStream zipToOpen = new FileStream(@"c:\users\exampleuser\release.zip", FileMode.Open))
{
using (ZipArchive archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update))
{
ZipArchiveEntry readmeEntry = archive.CreateEntry("Readme.txt");
using (StreamWriter writer = new StreamWriter(readmeEntry.Open()))
{
writer.WriteLine("Information about this package.");
writer.WriteLine("========================");
}
}
}
}
}
}
open System.IO
open System.IO.Compression
do
use zipToOpen = new FileStream(@"c:\users\exampleuser\release.zip", FileMode.Open)
use archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update)
let readmeEntry = archive.CreateEntry "Readme.txt"
use writer = new StreamWriter(readmeEntry.Open())
writer.WriteLine "Information about this package."
writer.WriteLine "========================"
Imports System.IO
Imports System.IO.Compression
Module Module1
Sub Main()
Using zipToOpen As FileStream = New FileStream("c:\users\exampleuser\release.zip", FileMode.Open)
Using archive As ZipArchive = New ZipArchive(zipToOpen, ZipArchiveMode.Update)
Dim readmeEntry As ZipArchiveEntry = archive.CreateEntry("Readme.txt")
Using writer As StreamWriter = New StreamWriter(readmeEntry.Open())
writer.WriteLine("Information about this package.")
writer.WriteLine("========================")
End Using
End Using
End Using
End Sub
End Module
Poznámky
Řetězec entryName
by měl odrážet relativní cestu k položce, kterou chcete vytvořit v archivu ZIP. Pro řetězec, který zadáte, neexistuje žádné omezení. Pokud však není formátován jako relativní cesta, položka se vytvoří, ale při extrahování obsahu archivu zip může dojít k výjimce. Pokud položka se zadanou cestou a názvem již v archivu existuje, vytvoří se druhá položka se stejnou cestou a názvem.
Hodnota LastWriteTime vlastnosti pro novou položku je nastavena na aktuální čas. Položka je komprimována pomocí výchozí úrovně komprese základního algoritmu komprese. Pokud chcete zadat jinou úroveň komprese, použijte metodu CreateEntry .
Platí pro
CreateEntry(String, CompressionLevel)
- Zdroj:
- ZipArchive.cs
- Zdroj:
- ZipArchive.cs
- Zdroj:
- ZipArchive.cs
Vytvoří prázdnou položku, která má zadaný název položky a úroveň komprese v archivu zip.
public:
System::IO::Compression::ZipArchiveEntry ^ CreateEntry(System::String ^ entryName, System::IO::Compression::CompressionLevel compressionLevel);
public System.IO.Compression.ZipArchiveEntry CreateEntry (string entryName, System.IO.Compression.CompressionLevel compressionLevel);
member this.CreateEntry : string * System.IO.Compression.CompressionLevel -> System.IO.Compression.ZipArchiveEntry
Public Function CreateEntry (entryName As String, compressionLevel As CompressionLevel) As ZipArchiveEntry
Parametry
- entryName
- String
Cesta relativní ke kořenovému adresáři archivu, která určuje název položky, která se má vytvořit.
- compressionLevel
- CompressionLevel
Jedna z hodnot výčtu, která určuje, zda se má při vytváření položky zdůraznit rychlost nebo účinnost komprese.
Návraty
Prázdná položka v archivu zip.
Výjimky
entryName
je Empty.
entryName
je null
.
Archiv zip nepodporuje psaní.
Archiv zip byl odstraněn.
Příklady
Následující příklad ukazuje, jak vytvořit položku s optimální úrovní komprese. Také zapisuje do nové položky pomocí datového proudu.
using System;
using System.IO;
using System.IO.Compression;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
using (FileStream zipToOpen = new FileStream(@"c:\users\exampleuser\release.zip", FileMode.Open))
{
using (ZipArchive archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update))
{
ZipArchiveEntry readmeEntry = archive.CreateEntry("Readme.txt", CompressionLevel.Optimal);
using (StreamWriter writer = new StreamWriter(readmeEntry.Open()))
{
writer.WriteLine("Information about this package.");
writer.WriteLine("========================");
}
}
}
}
}
}
open System.IO
open System.IO.Compression
do
use zipToOpen = new FileStream(@"c:\users\exampleuser\release.zip", FileMode.Open)
use archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update)
let readmeEntry = archive.CreateEntry("Readme.txt", CompressionLevel.Optimal)
use writer = new StreamWriter(readmeEntry.Open())
writer.WriteLine "Information about this package."
writer.WriteLine "========================"
Imports System.IO
Imports System.IO.Compression
Module Module1
Sub Main()
Using zipToOpen As FileStream = New FileStream("c:\users\exampleuser\release.zip", FileMode.Open)
Using archive As ZipArchive = New ZipArchive(zipToOpen, ZipArchiveMode.Update)
Dim readmeEntry As ZipArchiveEntry = archive.CreateEntry("Readme.txt", CompressionLevel.Optimal)
Using writer As StreamWriter = New StreamWriter(readmeEntry.Open())
writer.WriteLine("Information about this package.")
writer.WriteLine("========================")
End Using
End Using
End Using
End Sub
End Module
Poznámky
Řetězec entryName
by měl odrážet relativní cestu k položce, kterou chcete vytvořit v archivu ZIP. Pro řetězec, který zadáte, neexistuje žádné omezení. Pokud však není formátován jako relativní cesta, položka se vytvoří, ale při extrahování obsahu archivu zip může dojít k výjimce. Pokud položka se zadaným názvem již v archivu existuje, vytvoří se druhá položka se stejným názvem.
Hodnota LastWriteTime vlastnosti pro novou položku je nastavena na aktuální čas. compressionLevel
Pokud chcete, aby se soubor co nejvíce komprimoval, nastavte parametr na Optimal hodnotu . Parametr nastavte compressionLevel
na hodnotu Fastest pouze v případě, že máte obavy, že se operace komprese pro váš scénář nedokončuje dostatečně rychle.