ZipArchiveEntry.LastWriteTime Свойство

Определение

Возвращает или задает последний раз, когда запись в 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

Значение свойства

При последнем изменении записи в ZIP-архиве.

Исключения

Сбой попытки задать это свойство, так как zip-архив для записи находится в Read режиме.

Для режима архива задано Createзначение .

–или–

Для режима архива задано Update значение, и запись была открыта.

Предпринята попытка задать это свойство значением, которое раньше 1980 января 1 0:00:00 (полночь) или более поздней версии 31 декабря 23:59:58 (две секунды до полуночи).

Примеры

В следующем примере показано, как открыть запись в ZIP-архиве, изменить ее и задать LastWriteTime для свойства текущее время.

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

Комментарии

При создании новой записи из существующего файла путем вызова CreateEntryFromFile метода LastWriteTime свойство для записи автоматически устанавливается при последнем изменении файла. При создании новой записи программным способом путем вызова CreateEntry метода LastWriteTime свойство для записи автоматически устанавливается на время выполнения. При изменении записи необходимо явно задать LastWriteTime свойство, если нужно, чтобы значение отражало время последнего изменения.

При установке этого свойства DateTimeOffset значение преобразуется в формат метки времени, относящееся к zip-архивам. Этот формат поддерживает разрешение двух секунд. Самое раннее допустимое значение — 1980 января 1 0:00:00 (полночь). Последнее разрешенное значение — 2107 декабря 31 23:59:58 (одна секунда до полуночи). Если значение последнего времени записи недопустимо, свойство возвращает значение по умолчанию 1980 января 10:00:00 (полночь).

Применяется к