ZipArchiveEntry.LastWriteTime Eigenschaft

Definition

Ruft ab oder legt fest, wenn der Eintrag im ZIP-Archiv zuletzt geändert wurde.

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

Zeitpunkt der letzten Änderung des Eintrags im ZIP-Archiv.

Ausnahmen

Fehler beim Versuch, diese Eigenschaft festzulegen, da sich das ZIP-Archiv für den Eintrag im Read Modus befindet.

Der Archivmodus ist auf Create.

-oder-

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

Es wurde versucht, diese Eigenschaft auf einen Wert festzulegen, der entweder vor dem 1980. Januar 1980 um 0:00:00 (Mitternacht) oder später als 2107. Dezember 31 23:59:58 (zwei Sekunden vor Mitternacht) liegt.

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 die Ausführungszeit 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 spezifisch für ZIP-Archive ist. 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 neueste zulässige Wert ist der 2107. Dezember 31 23:59:58 (eine Sekunde vor Mitternacht). Wenn der Wert für die letzte Schreibzeit ungültig ist, gibt die Eigenschaft einen Standardwert von 1980 Januar 1 0:00:00 (Mitternacht) zurück.

Examples

Das folgende Beispiel zeigt, wie Sie einen Eintrag in einem ZIP-Archiv öffnen, ändern und die LastWriteTime Eigenschaft auf die aktuelle Uhrzeit 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: