ZipArchive.GetEntry(String) Método

Definição

Recupera um wrapper para a entrada especificada no arquivo zip.Retrieves a wrapper for the specified entry in the zip archive.

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.A path, relative to the root of the archive, that identifies the entry to retrieve.

Retornos

ZipArchiveEntry

Um wrapper para a entrada especificada no arquivo; null se a entrada não existir no arquivo morto.A wrapper for the specified entry in the archive; null if the entry does not exist in the archive.

Exceções

entryName é Empty.entryName is Empty.

entryName é null.entryName is null.

O arquivo zip não dá suporte à leitura.The zip archive does not support reading.

O arquivo zip foi descartado.The zip archive has been disposed.

O arquivo zip está corrompido e as entradas não podem ser recuperadas.The zip archive is corrupt, and its entries cannot be retrieved.

Exemplos

O exemplo a seguir mostra como usar o GetEntry método para recuperar uma entrada.The following example shows how to use the GetEntry method to retrieve an entry.

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;
            }
        }
    }
}
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 com o nome especificado no arquivo morto, o primeiro será retornado.If multiple entries that have the specified name exist in the archive, the first one is returned. O nome da entrada é comparado ao uso de uma entryName comparação ordinal.The name of the entry is compared to entryName using ordinal comparison.

Aplica-se a