ZipArchive.CreateEntry Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Cria uma entrada vazia no arquivo postal.
Sobrecargas
| Name | Description |
|---|---|
| CreateEntry(String) |
Cria uma entrada vazia que tem o caminho especificado e o nome da entrada no arquivo zip. |
| CreateEntry(String, CompressionLevel) |
Cria uma entrada vazia com o nome da entrada e o nível de compressão especificados no arquivo zip. |
CreateEntry(String)
Cria uma entrada vazia que tem o caminho especificado e o nome da 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, que especifica o nome da entrada a ser criada.
Devoluções
Uma entrada vazia no arquivo postal.
Exceções
entryName é Empty.
entryName é null.
O arquivo postal não suporta escrita.
O arquivo postal foi descartado.
Exemplos
O exemplo seguinte mostra como criar uma entrada e escrever 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
Observações
A entryName cadeia deve refletir o caminho relativo da entrada que pretende criar dentro do arquivo zip. Não há restrição quanto ao fio que fornece. No entanto, se não estiver formatado como um caminho relativo, a entrada é criada, mas pode haver uma exceção ao extrair o conteúdo do arquivo zip. Se uma entrada com o caminho e nome especificados já existir no arquivo, é criada uma segunda entrada com o mesmo caminho e nome.
O valor da LastWriteTime propriedade para a nova entrada é definido para o tempo atual. A entrada é comprimida usando o nível padrão de compressão do algoritmo de compressão subjacente. Se quiseres especificar um nível de compressão diferente, usa o CreateEntry método.
Aplica-se a
CreateEntry(String, CompressionLevel)
Cria uma entrada vazia com o nome da entrada e o nível de compressão especificados no arquivo 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, que especifica o nome da entrada a ser criada.
- compressionLevel
- CompressionLevel
Um dos valores de enumeração indica se deve enfatizar a velocidade ou a eficácia da compressão ao criar a entrada.
Devoluções
Uma entrada vazia no arquivo postal.
Exceções
entryName é Empty.
entryName é null.
O arquivo postal não suporta escrita.
O arquivo postal foi descartado.
Exemplos
O exemplo seguinte mostra como criar uma entrada com o nível de compressão ótimo. Também escreve para a 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
Observações
A entryName cadeia deve refletir o caminho relativo da entrada que pretende criar dentro do arquivo zip. Não há restrição quanto ao fio que fornece. No entanto, se não estiver formatado como um caminho relativo, a entrada é criada, mas pode haver uma exceção ao extrair o conteúdo do arquivo zip. Se já existir uma entrada com o nome especificado no arquivo, é criada uma segunda entrada com o mesmo nome.
O valor da LastWriteTime propriedade para a nova entrada é definido para o tempo atual. Define o compressionLevel parâmetro para Optimal se quiseres que o ficheiro seja comprimido o máximo possível. Defina o compressionLevel parâmetro apenas Fastest se estiver preocupado que a operação de compressão não seja completa rapidamente para o seu cenário.