ZipArchive.CreateEntry Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cria uma entrada vazia no arquivo zip.
Sobrecargas
CreateEntry(String) |
Cria uma entrada vazia que tem o caminho especificado e nome de entrada no arquivo zip. |
CreateEntry(String, CompressionLevel) |
Cria uma entrada vazia que tem o nível de compactação e o nome de entrada especificados no arquivo-morto zip. |
CreateEntry(String)
- Origem:
- ZipArchive.cs
- Origem:
- ZipArchive.cs
- Origem:
- ZipArchive.cs
Cria uma entrada vazia que tem o caminho especificado e nome de entrada no arquivo 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
Parâmetros
- entryName
- String
Um caminho relativo à raiz do arquivo-morto que especifica o nome da entrada a ser criada.
Retornos
Uma entrada vazia do arquivo-morto zip.
Exceções
entryName
é Empty.
entryName
é null
.
O arquivo zip não dá suporte à gravação.
O arquivo zip foi descartado.
Exemplos
O exemplo a seguir mostra como criar uma entrada e gravar nela usando um fluxo.
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
Comentários
A entryName
cadeia de caracteres deve refletir o caminho relativo da entrada que você deseja criar no arquivo zip. Não há nenhuma restrição na cadeia de caracteres que você fornece. No entanto, se ele não estiver formatado como um caminho relativo, a entrada será criada, mas você poderá obter uma exceção ao extrair o conteúdo do arquivo zip. Se uma entrada com o caminho e o nome especificados já existirem no arquivo morto, uma segunda entrada será criada com o mesmo caminho e nome.
O valor da LastWriteTime propriedade para a nova entrada é definido como a hora atual. A entrada é compactada usando o nível de compactação padrão do algoritmo de compactação subjacente. Se você quiser especificar um nível de compactação diferente, use o CreateEntry método .
Aplica-se a
CreateEntry(String, CompressionLevel)
- Origem:
- ZipArchive.cs
- Origem:
- ZipArchive.cs
- Origem:
- ZipArchive.cs
Cria uma entrada vazia que tem o nível de compactação e o nome de entrada especificados no arquivo-morto 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
Parâmetros
- entryName
- String
Um caminho relativo à raiz do arquivo-morto que especifica o nome da entrada a ser criada.
- compressionLevel
- CompressionLevel
Um dos valores de enumeração que indica se é necessário enfatizar a eficiência de compactação ou velocidade ao criar a entrada.
Retornos
Uma entrada vazia do arquivo-morto zip.
Exceções
entryName
é Empty.
entryName
é null
.
O arquivo zip não dá suporte à gravação.
O arquivo zip foi descartado.
Exemplos
O exemplo a seguir mostra como criar uma entrada com o nível de compactação ideal. Ele também grava na nova entrada usando um fluxo.
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
Comentários
A entryName
cadeia de caracteres deve refletir o caminho relativo da entrada que você deseja criar no arquivo zip. Não há nenhuma restrição na cadeia de caracteres que você fornece. No entanto, se ele não estiver formatado como um caminho relativo, a entrada será criada, mas você poderá obter uma exceção ao extrair o conteúdo do arquivo zip. Se uma entrada com o nome especificado já existir no arquivo morto, uma segunda entrada será criada com o mesmo nome.
O valor da LastWriteTime propriedade para a nova entrada é definido como a hora atual. Defina o compressionLevel
parâmetro como Optimal se você quiser que o arquivo seja compactado o máximo possível. Defina o compressionLevel
parâmetro como Fastest apenas se você estiver preocupado que a operação de compactação não seja concluída rapidamente o suficiente para seu cenário.