Partilhar via


ZipArchiveEntry.LastWriteTime Propriedade

Definição

Obtém ou define a última vez que a entrada no arquivo morto zip foi alterada.

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

A última vez que a entrada no arquivo morto zip foi alterada.

Exceções

A tentativa de definir essa propriedade falhou, porque o arquivo morto zip da entrada está no modo Read.

O modo de arquivo morto é definido como Create.

- ou -

O modo de arquivo morto é definido como Update e a entrada foi aberta.

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).

Comentários

Quando você cria uma nova entrada de um arquivo existente chamando o CreateEntryFromFile método , a LastWriteTime propriedade para a entrada é definida automaticamente como a última vez que o arquivo foi modificado. Quando você cria uma nova entrada programaticamente chamando o CreateEntry método , a LastWriteTime propriedade para a entrada é definida automaticamente como o tempo de execução. Se você modificar a entrada, deverá definir explicitamente a LastWriteTime propriedade se quiser que o valor reflita a hora da alteração mais recente.

Quando você define essa propriedade, o DateTimeOffset valor é convertido em um formato de carimbo de data/hora específico para arquivos zip. Esse formato dá suporte a uma resolução de dois segundos. O valor mais antigo permitido é 1980 1º de janeiro 0:00:00 (meia-noite). O valor permitido mais recente é 2107 31 de dezembro 23:59:58 (um segundo antes da meia-noite). Se o valor da hora da última gravação não for válido, a propriedade retornará um valor padrão de 1980 1º de janeiro 0:00:00 (meia-noite).

Exemplos

O exemplo a seguir mostra como abrir uma entrada em um arquivo zip, modificá-la e definir a LastWriteTime propriedade como a hora atual.

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