ZipArchiveEntry.LastWriteTime Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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