다음을 통해 공유


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월 1일 0:00:00(자정) 이전이나 2107년 12월 31일 23:59:58(자정 1초 전) 이후인 값으로 이 속성을 설정하려고 한 경우

설명

메서드를 호출 CreateEntryFromFile 하여 기존 파일에서 새 항목을 만들면 항목의 LastWriteTime 속성이 파일이 마지막으로 수정된 시간으로 자동으로 설정됩니다. 메서드를 호출 CreateEntry 하여 프로그래밍 방식으로 새 항목을 만들면 항목의 LastWriteTime 속성이 실행 시간으로 자동으로 설정됩니다. 항목을 수정하는 경우 값을 최신 변경 시간을 반영하려면 속성을 명시적으로 설정 LastWriteTime 해야 합니다.

이 속성을 DateTimeOffset 설정하면 값이 zip 보관과 관련된 타임스탬프 형식으로 변환됩니다. 이 형식은 2초의 해상도를 지원합니다. 허용되는 가장 빠른 값은 1980년 1월 1일 0:00:00(자정)입니다. 허용되는 최신 값은 2107년 12월 31일 23:59:58(자정 이전 1초)입니다. 마지막 쓰기 시간의 값이 유효하지 않으면 속성은 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

적용 대상