Compartir a través de


ZipArchiveEntry.LastWriteTime Propiedad

Definición

Obtiene o establece la última vez que se cambió la entrada en el archivo 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

Valor de propiedad

Última vez que la entrada del archivo zip se cambió.

Excepciones

Error al intentar establecer esta propiedad porque el archivo zip de la entrada está en el modo Read.

El modo de archivo está establecido en Create.

o bien

El modo de archivo está establecido en Update y se ha abierto la entrada.

Se intentó establecer esta propiedad en un valor que es anterior al 1 de enero de 1980, a las 0:00:00 (medianoche), o posterior al 31 de diciembre de 2107, a las 23:59:58 (un segundo antes de la medianoche).

Comentarios

Al crear una nueva entrada a partir de un archivo existente llamando al CreateEntryFromFile método , la LastWriteTime propiedad de la entrada se establece automáticamente en la última vez que se modificó el archivo. Cuando se crea una nueva entrada mediante programación mediante una llamada al CreateEntry método , la LastWriteTime propiedad de la entrada se establece automáticamente en el tiempo de ejecución. Si modifica la entrada, debe establecer explícitamente la LastWriteTime propiedad si desea que el valor refleje la hora del cambio más reciente.

Al establecer esta propiedad, el DateTimeOffset valor se convierte en un formato de marca de tiempo específico de los archivos ZIP. Este formato admite una resolución de dos segundos. El valor permitido más antiguo es 1980 1 0:00:00 (medianoche). El último valor permitido es 2107 31 de diciembre de 23:59:58 (un segundo antes de medianoche). Si el valor de la hora de la última escritura no es válido, la propiedad devuelve un valor predeterminado de 1980 1 0:00:00 (medianoche).

Ejemplos

En el ejemplo siguiente se muestra cómo abrir una entrada en un archivo ZIP, modificarla y establecer la LastWriteTime propiedad en la hora actual.

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

Se aplica a