ZipArchiveEntry.LastWriteTime 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置最近一次更改 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 模式。
已尝试将此属性的值设置为早于 1980 年 1 月 1 日 0:00:00(午夜)或晚于 2107 年 12 月 31 日 23:59:58 (午夜的前一秒钟)。
注解
通过调用 CreateEntryFromFile 方法从现有文件创建新条目时, LastWriteTime 该项的 属性将自动设置为上次修改该文件时。 通过调用 CreateEntry 方法以编程方式创建新条目时, LastWriteTime 条目的 属性将自动设置为执行时间。 如果修改条目,如果希望值反映最新更改的时间,则必须显式设置 LastWriteTime 属性。
设置此属性时, DateTimeOffset 该值将转换为特定于 zip 存档的时间戳格式。 此格式支持两秒的分辨率。 允许的最早值为 1980 年 1 月 1 日 0:00:00 (午夜) 。 最新的允许值为 2107 年 12 月 31 日 23:59:58 (午夜前一秒) 。 如果上次写入时间的值无效,则 属性返回默认值 1980 年 1 月 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