Freigeben über


ZipArchive.GetEntry(String) Methode

Definition

Ruft einen Wrapper für den angegebenen Eintrag im Zip-Archiv ab.

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

Parameter

entryName
String

Ein Pfad relativ zum Stamm des Archivs, das den Eintrag identifiziert, der abgerufen werden soll.

Gibt zurück

Ein Wrapper für den angegebenen Eintrag im Archiv. null, wenn der Eintrag nicht im Archiv vorhanden ist.

Ausnahmen

entryName ist Empty.

entryName ist null.

Das Zip-Archiv unterstützt keine Lesevorgänge.

Die ZIP-Archiv wurde freigegeben.

Das Zip-Archiv ist beschädigt, und seine Einträge konnten nicht abgerufen werden.

Beispiele

Das folgende Beispiel zeigt, wie Sie die GetEntry -Methode verwenden, um einen Eintrag abzurufen.

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

Hinweise

Wenn mehrere Einträge mit dem angegebenen Namen im Archiv vorhanden sind, wird der erste zurückgegeben. Der Name des Eintrags wird mit dem entryName Ordinalvergleich verglichen.

Gilt für: