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 (полночь).