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, и запись была открыта.

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

Комментарии

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

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

Примеры

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

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