Sdílet prostřednictvím


ZipArchiveEntry.LastWriteTime Vlastnost

Definice

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

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 Create.

-nebo-

Režim archivace je nastavený na Update a položka se otevřela.

Byl proveden pokus o nastavení této vlastnosti na hodnotu, která je dřívější než 1980 Leden 1 0:00:00 (půlnoc) nebo později než 2107 December 31 23:59:58 (jednu sekundu před půlnocí).

Poznámky

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

Když nastavíte tuto vlastnost, DateTimeOffset hodnota se převede do formátu časového razítka, který je specifický pro archivy zip. Tento formát podporuje rozlišení dvou sekund. První povolená hodnota je 1980 January 1 0:00:00 (půlnoc). Poslední povolená hodnota je 2107 December 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