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í
| Name | Description |
|---|---|
| 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
- 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 vzhledem 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í streamu.
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. Řetězec, který zadáte, není nijak omezen. Pokud ale není formátovaná 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 se komprimuje 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
- 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 vzhledem 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á označuje, zda se má při vytváření položky zdůraznit účinnost rychlosti nebo 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. Zapisuje se také 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. Řetězec, který zadáte, není nijak omezen. Pokud ale není formátovaná 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 Nastavte parametr tak, aby Optimal byl soubor komprimován co nejvíce.
compressionLevel Nastavte parametr pouze Fastest v případě, že se obáváte, že operace komprese nebude dostatečně rychle dokončena pro váš scénář.