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 January 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