ZipArchive.CreateEntry Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee maakt u een lege vermelding in het zip-archief.
Overloads
| Name | Description |
|---|---|
| CreateEntry(String) |
Hiermee maakt u een lege vermelding met het opgegeven pad en de naam van de vermelding in het zip-archief. |
| CreateEntry(String, CompressionLevel) |
Hiermee maakt u een lege vermelding met de opgegeven vermeldingsnaam en het compressieniveau in het zip-archief. |
CreateEntry(String)
Hiermee maakt u een lege vermelding met het opgegeven pad en de naam van de vermelding in het zip-archief.
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
Parameters
- entryName
- String
Een pad, ten opzichte van de hoofdmap van het archief, waarmee de naam wordt opgegeven van de vermelding die moet worden gemaakt.
Retouren
Een lege vermelding in het zip-archief.
Uitzonderingen
entryName is Empty.
entryName is null.
Het zip-archief biedt geen ondersteuning voor schrijven.
Het zip-archief is verwijderd.
Voorbeelden
In het volgende voorbeeld ziet u hoe u een vermelding maakt en ernaar schrijft met behulp van een stream.
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
Opmerkingen
De entryName tekenreeks moet het relatieve pad weergeven van het item dat u wilt maken in het zip-archief. Er is geen beperking voor de tekenreeks die u opgeeft. Als de vermelding echter niet is opgemaakt als een relatief pad, wordt de vermelding gemaakt, maar krijgt u mogelijk een uitzondering wanneer u de inhoud van het zip-archief extraheert. Als er al een vermelding met het opgegeven pad en de naam in het archief bestaat, wordt er een tweede vermelding gemaakt met hetzelfde pad en dezelfde naam.
De waarde van de LastWriteTime eigenschap voor de nieuwe vermelding is ingesteld op de huidige tijd. De vermelding wordt gecomprimeerd met behulp van het standaardcompressieniveau van het onderliggende compressie-algoritme. Als u een ander compressieniveau wilt opgeven, gebruikt u de CreateEntry methode.
Van toepassing op
CreateEntry(String, CompressionLevel)
Hiermee maakt u een lege vermelding met de opgegeven vermeldingsnaam en het compressieniveau in het zip-archief.
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
Parameters
- entryName
- String
Een pad, ten opzichte van de hoofdmap van het archief, waarmee de naam wordt opgegeven van de vermelding die moet worden gemaakt.
- compressionLevel
- CompressionLevel
Een van de opsommingswaarden die aangeeft of snelheid of compressieeffectiviteit moet worden benadrukt bij het maken van de vermelding.
Retouren
Een lege vermelding in het zip-archief.
Uitzonderingen
entryName is Empty.
entryName is null.
Het zip-archief biedt geen ondersteuning voor schrijven.
Het zip-archief is verwijderd.
Voorbeelden
In het volgende voorbeeld ziet u hoe u een vermelding maakt met het optimale compressieniveau. Het schrijft ook naar de nieuwe vermelding met behulp van een stream.
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
Opmerkingen
De entryName tekenreeks moet het relatieve pad weergeven van het item dat u wilt maken in het zip-archief. Er is geen beperking voor de tekenreeks die u opgeeft. Als de vermelding echter niet is opgemaakt als een relatief pad, wordt de vermelding gemaakt, maar krijgt u mogelijk een uitzondering wanneer u de inhoud van het zip-archief extraheert. Als er al een vermelding met de opgegeven naam in het archief bestaat, wordt er een tweede vermelding met dezelfde naam gemaakt.
De waarde van de LastWriteTime eigenschap voor de nieuwe vermelding is ingesteld op de huidige tijd. Stel de compressionLevel parameter in op Optimal als u wilt dat het bestand zoveel mogelijk wordt gecomprimeerd. Stel de compressionLevel parameter Fastest alleen in op als u zich zorgen maakt dat de compressiebewerking niet snel genoeg wordt voltooid voor uw scenario.