ZipArchiveEntry.LastWriteTime Vlastnost

Definice

Získá nebo nastaví čas poslední změny položky v archivu zip.

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

Hodnota vlastnosti

Čas poslední změny položky v archivu zip.

Výjimky

Pokus o nastavení této vlastnosti se nezdařil, protože archiv zip pro položku je v Read režimu.

Režim archivace je nastaven na Createhodnotu .

nebo

Režim archivace je nastavený Update a položka byla otevřena.

Došlo k pokusu o nastavení této vlastnosti na hodnotu, která je dřívější než 1980 Leden 1 0:00:00 (půlnoc) nebo novější než 2107 31 23:59:58 (dva sekundy před půlnocí).

Poznámky

Když vytvoříte novou položku z existujícího souboru voláním CreateEntryFromFile metody, LastWriteTime vlastnost pro položku se automaticky nastaví na čas poslední změny souboru. Když vytvoříte novou položku programově voláním CreateEntry metody, LastWriteTime vlastnost pro položku je automaticky nastavena na čas spuštění. Pokud položku upravíte, musíte vlastnost explicitně nastavit LastWriteTime , pokud chcete, aby hodnota odrážela čas poslední změny.

Při nastavení této vlastnosti DateTimeOffset se hodnota převede na formát časového razítka, který je specifický pro archivy zip. Tento formát podporuje rozlišení dvou sekund. Nejstarší povolená hodnota je 1980 Leden 1 0:00:00 (půlnoc). Nejnovější povolená hodnota je 2107 Prosinec 31 23:59:58 (jedna sekunda před půlnocí). Pokud hodnota posledního času zápisu není platná, vrátí vlastnost výchozí hodnotu 1980 Leden 1 0:00:00 (půlnoc).

Příklady

Následující příklad ukazuje, jak otevřít položku v archivu zip, upravit ji a nastavit LastWriteTime vlastnost na aktuální čas.

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

Platí pro