ZipArchiveEntry.LastWriteTime Propriedade

Definição

Obtém ou define a última vez que a entrada no arquivo morto zip foi alterada.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 da propriedade

DateTimeOffset

A última vez que a entrada no arquivo morto zip foi alterada.The last time the entry in the zip archive was changed.

Exceções

A tentativa de definir essa propriedade falhou, porque o arquivo morto zip da entrada está no modo Read.The attempt to set this property failed, because the zip archive for the entry is in Read mode.

O modo de arquivo morto é definido como Create.The archive mode is set to Create.

- ou --or- O modo de arquivo morto é definido como Update e a entrada foi aberta.The archive mode is set to Update and the entry has been opened.

Foi feita uma tentativa de definir essa propriedade com um valor anterior a 1º de janeiro de 1980 0:00:00 (meia-noite) ou posterior a 31 de dezembro de 2107 23:59:58 (um segundo antes da meia-noite).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).

Comentários

Quando você cria uma nova entrada de um arquivo existente chamando o CreateEntryFromFile método, a LastWriteTime propriedade da entrada é definida automaticamente como a última vez em que o arquivo foi modificado.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. Quando você cria uma nova entrada programaticamente chamando o CreateEntry método, a LastWriteTime propriedade da entrada é definida automaticamente como a hora da execução.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. Se você modificar a entrada, deverá definir explicitamente a LastWriteTime propriedade se desejar que o valor reflita a hora da alteração mais recente.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.

Quando você define essa propriedade, o DateTimeOffset valor é convertido em um formato de carimbo de data/hora específico para arquivos zip.When you set this property, the DateTimeOffset value is converted to a timestamp format that is specific to zip archives. Esse formato dá suporte a uma resolução de dois segundos.This format supports a resolution of two seconds. O valor mais antigo permitido é 1980 de janeiro de 1 0:00:00 (meia-noite).The earliest permitted value is 1980 January 1 0:00:00 (midnight). O valor mais recente permitido é 2107 de dezembro de 31 23:59:58 (um segundo antes da meia-noite).The latest permitted value is 2107 December 31 23:59:58 (one second before midnight). Se o valor da última hora de gravação não for válido, a propriedade retornará um valor padrão de 1980 de janeiro de 1 0:00:00 (meia-noite).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).

ExemplosExamples

O exemplo a seguir mostra como abrir uma entrada em um arquivo zip, modificá-la e definir a LastWriteTime propriedade como a hora atual.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

Aplica-se a