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

DateTimeOffset

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 das letzte Mal festgelegt, wenn die Datei geändert wurde. Wenn Sie einen neuen Eintrag programmgesteuert erstellen, indem Sie die CreateEntry Methode aufrufen, 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 die Uhrzeit der neuesten Änderung widerspiegelt.

Wenn Sie diese Eigenschaft festlegen, wird der DateTimeOffset Wert in ein Zeitstempelformat konvertiert, das speziell 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 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 vom 1980. Januar 1 0:00:00 (Mitternacht) zurück.

Beispiele

Im folgenden Beispiel wird gezeigt, wie Sie einen Eintrag in einem Zip-Archiv öffnen, sie ändern und die Eigenschaft auf die LastWriteTime 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