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

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

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

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