Bagikan melalui


ZipArchiveEntry.LastWriteTime Properti

Definisi

Mendapatkan atau mengatur terakhir kali entri dalam arsip zip diubah.

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

Nilai Properti

Terakhir kali entri dalam arsip zip diubah.

Pengecualian

Upaya untuk menyetel properti ini gagal, karena arsip zip untuk entri dalam Read mode .

Mode arsip diatur ke Create.

-atau-

Mode arsip diatur ke Update dan entri telah dibuka.

Upaya dilakukan untuk mengatur properti ini ke nilai yang lebih awal dari 1980 Januari 1 0:00:00 (tengah malam) atau lebih baru dari 2107 31 Desember 23:59:58 (satu detik sebelum tengah malam).

Keterangan

Saat Anda membuat entri baru dari file yang ada dengan memanggil CreateEntryFromFile metode , LastWriteTime properti untuk entri secara otomatis diatur ke terakhir kali file dimodifikasi. Saat Anda membuat entri baru secara terprogram dengan memanggil CreateEntry metode , LastWriteTime properti untuk entri secara otomatis diatur ke waktu eksekusi. Jika Anda mengubah entri, Anda harus secara eksplisit mengatur LastWriteTime properti jika Anda ingin nilai mencerminkan waktu perubahan terbaru.

Saat Anda mengatur properti ini, DateTimeOffset nilai dikonversi ke format tanda waktu yang khusus untuk arsip zip. Format ini mendukung resolusi dua detik. Nilai yang diizinkan paling awal adalah 1980 Januari 1 0:00:00 (tengah malam). Nilai terbaru yang diizinkan adalah 2107 Desember 31 23:59:58 (satu detik sebelum tengah malam). Jika nilai untuk waktu tulis terakhir tidak valid, properti mengembalikan nilai default 1980 Januari 1 0:00:00 (tengah malam).

Contoh

Contoh berikut menunjukkan cara membuka entri dalam arsip zip, memodifikasinya, dan mengatur LastWriteTime properti ke waktu saat ini.

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

Berlaku untuk