ZipArchiveEntry.LastWriteTime Propriété

Définition

Obtient ou définit la date de dernière modification de l'entrée dans l'archive 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

Valeur de propriété

DateTimeOffset

Date/heure à laquelle l'entrée a été modifiée pour la dernière fois dans l'archive zip.

Exceptions

La tentative de définition de cette propriété a échoué, car l'archive ZIP de l'entrée est en mode Read .

Le mode d'archivage a la valeur Create.

  • ou - Le mode d'archivage a la valeur Update et l'entrée a été ouverte.

Tentative d'affecter cette propriété à une valeur qui est, soit antérieure au 1er janvier 1980, 00:00:00 (minuit), soit ultérieure au 31 décembre 2017, 23:59:58 (une seconde avant minuit).

Remarques

Lorsque vous créez une entrée à partir d’un fichier existant en appelant la CreateEntryFromFile méthode, la LastWriteTime propriété de l’entrée est automatiquement définie sur la dernière fois que le fichier a été modifié. Lorsque vous créez une entrée par programmation en appelant la CreateEntry méthode, la LastWriteTime propriété de l’entrée est automatiquement définie sur l’heure d’exécution. Si vous modifiez l’entrée, vous devez définir explicitement la LastWriteTime propriété si vous souhaitez que la valeur reflète l’heure de la dernière modification.

Lorsque vous définissez cette propriété, la DateTimeOffset valeur est convertie en format d’horodatage spécifique aux archives zip. Ce format prend en charge une résolution de deux secondes. La première valeur autorisée est 1980 janvier 1 0:00:00 (minuit). La dernière valeur autorisée est 2107 décembre 31 23:59:58 (une seconde avant minuit). Si la valeur de la dernière heure d’écriture n’est pas valide, la propriété retourne une valeur par défaut de 1980 le 1er janvier 00:00 (minuit).

Exemples

L’exemple suivant montre comment ouvrir une entrée dans une archive zip, la modifier et définir la LastWriteTime propriété sur l’heure actuelle.

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

S’applique à