ZipArchiveEntry.LastWriteTime Eigenschaft

Definition

Ruft den letzten Zeitpunkt ab, zu dem der Eintrag im Zip-Archiv geändert wurde, oder legt diesen fest.

public:
 property DateTimeOffset LastWriteTime { DateTimeOffset get(); void set(DateTimeOffset value); };
public DateTimeOffset LastWriteTime { get; set; }
member this.LastWriteTime : DateTimeOffset with get, set
Public Property LastWriteTime As DateTimeOffset

Eigenschaftswert

Der letzte Zeitpunkt, an dem der Eintrag im ZIP-Archiv geändert wurde.

Ausnahmen

Der Versuch, diese Eigenschaft festzulegen, ist fehlgeschlagen, da sich das Zip-Archiv für den Eintrag im Read-Modus befindet.

Der Archivmodus ist auf Create festgelegt.

- oder -

Der Archivmodus ist auf Update festgelegt, und der Eintrag wurde geöffnet.

Es wurde versucht, diese Eigenschaft auf einen Wert festzulegen, der entweder älter als 1980 am 1. Januar 0:00:00 (Mitternacht) ist oder höher als 2107 am 31. Dezember 23:59:58 (eine Sekunde vor Mitternacht).

Hinweise

Wenn Sie einen neuen Eintrag aus einer vorhandenen Datei erstellen, indem Sie die CreateEntryFromFile -Methode aufrufen, wird die LastWriteTime -Eigenschaft für den Eintrag automatisch auf den Zeitpunkt der letzten Änderung der Datei festgelegt. Wenn Sie einen neuen Eintrag programmgesteuert durch Aufrufen der CreateEntry -Methode erstellen, wird die LastWriteTime -Eigenschaft für den Eintrag automatisch auf den Zeitpunkt der Ausführung festgelegt. Wenn Sie den Eintrag ändern, müssen Sie die LastWriteTime -Eigenschaft explizit festlegen, wenn der Wert den Zeitpunkt der letzten Änderung widerspiegeln soll.

Wenn Sie diese Eigenschaft festlegen, wird der DateTimeOffset Wert in ein Zeitstempelformat konvertiert, das speziell für ZIP-Archive gilt. Dieses Format unterstützt eine Auflösung von zwei Sekunden. Der früheste zulässige Wert ist 1980 Januar 1 0:00:00 (Mitternacht). Der letzte zulässige Wert ist 2107 Dezember 31 23:59:58 (eine Sekunde vor Mitternacht). Wenn der Wert für die letzte Schreibzeit ungültig ist, gibt die Eigenschaft den Standardwert 1980 Januar 1980 0:00:00 (Mitternacht) zurück.

Beispiele

Das folgende Beispiel zeigt, wie Sie einen Eintrag in einem ZIP-Archiv öffnen, ändern und die LastWriteTime Eigenschaft auf den aktuellen Zeitpunkt festlegen.

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

Gilt für: