ZipArchive.GetEntry(String) 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.
Recupera um wrapper para a entrada especificada no arquivo zip.
public:
System::IO::Compression::ZipArchiveEntry ^ GetEntry(System::String ^ entryName);
public System.IO.Compression.ZipArchiveEntry GetEntry (string entryName);
public System.IO.Compression.ZipArchiveEntry? GetEntry (string entryName);
member this.GetEntry : string -> System.IO.Compression.ZipArchiveEntry
Public Function GetEntry (entryName As String) As ZipArchiveEntry
Parâmetros
- entryName
- String
Um caminho, relativo à raiz do arquivo, que identifica a entrada a ser recuperada.
Retornos
Um wrapper para a entrada especificada no arquivo; null
se a entrada não existir no arquivo morto.
Exceções
entryName
é Empty.
entryName
é null
.
O arquivo zip não dá suporte à leitura.
O arquivo zip foi descartado.
O arquivo zip está corrompido e as entradas não podem ser recuperadas.
Exemplos
O exemplo a seguir mostra como usar o GetEntry método para recuperar uma entrada.
using System;
using System.IO;
using System.IO.Compression;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string zipPath = @"c:\example\result.zip";
using (ZipArchive archive = ZipFile.Open(zipPath, ZipArchiveMode.Update))
{
ZipArchiveEntry entry = archive.GetEntry("ExistingFile.txt");
using (StreamWriter writer = new StreamWriter(entry.Open()))
{
writer.BaseStream.Seek(0, SeekOrigin.End);
writer.WriteLine("append line to file");
}
entry.LastWriteTime = DateTimeOffset.UtcNow.LocalDateTime;
}
}
}
}
open System
open System.IO
open System.IO.Compression
[<EntryPoint>]
let main _ =
let zipPath = @"c:\example\result.zip"
use archive = ZipFile.Open(zipPath, ZipArchiveMode.Update)
let entry = archive.GetEntry "ExistingFile.txt"
use writer = new StreamWriter(entry.Open())
writer.BaseStream.Seek(0, SeekOrigin.End) |> ignore
writer.WriteLine "append line to file"
entry.LastWriteTime <- DateTimeOffset.UtcNow.LocalDateTime
0
Imports System.IO
Imports System.IO.Compression
Module Module1
Sub Main()
Dim zipPath As String = "c:\example\result.zip"
Using archive As ZipArchive = ZipFile.Open(zipPath, ZipArchiveMode.Update)
Dim entry As ZipArchiveEntry = archive.GetEntry("ExistingFile.txt")
Using writer As StreamWriter = New StreamWriter(entry.Open())
writer.BaseStream.Seek(0, SeekOrigin.End)
writer.WriteLine("append line to file")
End Using
entry.LastWriteTime = DateTimeOffset.UtcNow.LocalDateTime
End Using
End Sub
End Module
Comentários
Se houver várias entradas que tenham o nome especificado no arquivo morto, a primeira será retornada. O nome da entrada é comparado ao entryName
uso de comparação ordinal.