Condividi tramite


ZipArchiveEntry.LastWriteTime Proprietà

Definizione

Ottiene o imposta l'ultima volta in cui la voce nell'archivio ZIP è stata modificata.

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

Valore della proprietà

L'ultima volta in cui la voce nell'archivio ZIP è stata modificata.

Eccezioni

Il tentativo di impostare questa proprietà non riesce perché l'archivio ZIP per la voce è in modalità Read.

La modalità di archiviazione è impostata su Create.

-oppure-

La modalità di archiviazione è impostata su Update e la voce è stata aperta.

È stato effettuato un tentativo di impostare questa proprietà su un valore precedente alle 0:00:00 del 1º gennaio 1980 (mezzanotte) o successivo alle 23:59:58 del 31 dicembre 2017 (un secondo prima di mezzanotte).

Commenti

Quando si crea una nuova voce da un file esistente chiamando il CreateEntryFromFile metodo , la LastWriteTime proprietà per la voce viene impostata automaticamente sull'ultima modifica del file. Quando si crea una nuova voce a livello di codice chiamando il CreateEntry metodo , la LastWriteTime proprietà per la voce viene impostata automaticamente sul tempo di esecuzione. Se si modifica la voce, è necessario impostare in modo esplicito la LastWriteTime proprietà se si desidera che il valore rifletta l'ora della modifica più recente.

Quando si imposta questa proprietà, il DateTimeOffset valore viene convertito in un formato timestamp specifico per gli archivi ZIP. Questo formato supporta una risoluzione di due secondi. Il valore consentito meno recente è 1980 gennaio 1 0:00:00 (mezzanotte). Il valore consentito più recente è 2107 31 dicembre 23:59:58 (un secondo prima della mezzanotte). Se il valore per l'ora dell'ultima scrittura non è valido, la proprietà restituisce un valore predefinito 1980 1 0:00:00 (mezzanotte).

Esempio

Nell'esempio seguente viene illustrato come aprire una voce in un archivio ZIP, modificarla e impostare la LastWriteTime proprietà sull'ora corrente.

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

Si applica a