ZipArchiveEntry.LastWriteTime ZipArchiveEntry.LastWriteTime ZipArchiveEntry.LastWriteTime ZipArchiveEntry.LastWriteTime Property

Definición

Obtiene o establece la última vez que se cambió la entrada en el archivo zip.Gets or sets the last time the entry in the zip archive was changed.

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ó.The last time the entry in the zip archive was changed.

Excepciones

Error al intentar establecer esta propiedad porque el archivo zip de la entrada está en el modo Read.The attempt to set this property failed, because the zip archive for the entry is in Read mode.

El modo de archivo está establecido en Create.The archive mode is set to Create.

O bien-or- El modo de archivo está establecido en Update y se ha abierto la entrada.The archive mode is set to Update and the entry has been opened.

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).An attempt was made to set this property to a value that is either earlier than 1980 January 1 0:00:00 (midnight) or later than 2107 December 31 23:59:58 (one second before midnight).

Ejemplos

El ejemplo siguiente muestra cómo abrir una entrada en un archivo zip, modificarlo y establecer el LastWriteTime propiedad a la hora actual.The following example shows how to open an entry in a zip archive, modify it, and set the LastWriteTime property to the current time.

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

Comentarios

Cuando crea una nueva entrada de un archivo existente mediante una llamada a la CreateEntryFromFile método, el LastWriteTime propiedad la entrada se establece automáticamente en la última vez que el archivo se modificó.When you create a new entry from an existing file by calling the CreateEntryFromFile method, the LastWriteTime property for the entry is automatically set to the last time the file was modified. Cuando crea una nueva entrada mediante programación llamando a la CreateEntry método, el LastWriteTime propiedad de la entrada se establece automáticamente en tiempo de ejecución.When you create a new entry programmatically by calling the CreateEntry method, the LastWriteTime property for the entry is automatically set to the time of execution. Si modifica la entrada, debe establecer explícitamente el LastWriteTime propiedad si desea que el valor que refleja la hora de los cambios más recientes.If you modify the entry, you must explicitly set the LastWriteTime property if you want the value to reflect the time of the latest change.

Al establecer esta propiedad, el DateTimeOffset valor se convierte en un formato de marca de tiempo que es específico de archivos zip.When you set this property, the DateTimeOffset value is converted to a timestamp format that is specific to zip archives. Este formato admite una resolución de dos segundos.This format supports a resolution of two seconds. El valor permitido más antiguo es el 1 de enero de 1980 0:00:00 (medianoche).The earliest permitted value is 1980 January 1 0:00:00 (midnight). El último valor permitido es 31 de diciembre de 2107 23:59:58 (un segundo antes de medianoche).The latest permitted value is 2107 December 31 23:59:58 (one second before midnight). Si el valor de la última hora de escritura no es válido, la propiedad devuelve un valor predeterminado de 1980, 1 de enero 0:00:00 (medianoche).If the value for the last write time is not valid, the property returns a default value of 1980 January 1 0:00:00 (midnight).

Se aplica a