다음을 통해 공유


ZipArchive.GetEntry(String) 메서드

정의

Zip 보관 위치에 지정된 항목에 대한 래퍼를 검색합니다.

public:
 System::IO::Compression::ZipArchiveEntry ^ GetEntry(System::String ^ entryName);
public System.IO.Compression.ZipArchiveEntry GetEntry (string entryName);
public System.IO.Compression.ZipArchiveEntry? GetEntry (string entryName);
member this.GetEntry : string -> System.IO.Compression.ZipArchiveEntry
Public Function GetEntry (entryName As String) As ZipArchiveEntry

매개 변수

entryName
String

검색할 항목을 식별하는, 보관 저장소의 루트에 상대적인 경로입니다.

반환

보관 저장소의 지정된 항목에 대한 래퍼이거나, 항목이 보관 저장소에 없는 경우 null입니다.

예외

entryName이(가) Empty인 경우

entryName이(가) null인 경우

zip 보관 위치가 읽기를 지원하지 않는 경우

zip 보관 위치가 삭제되었습니다.

zip 보관 위치가 손상되었으므로 해당 항목을 검색할 수 없습니다.

예제

다음 예제에서는 메서드를 사용하여 GetEntry 항목을 검색하는 방법을 보여줍니다.

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;
            }
        }
    }
}
open System
open System.IO
open System.IO.Compression

[<EntryPoint>]
let main _ =
    let zipPath = @"c:\example\result.zip"

    use archive = ZipFile.Open(zipPath, ZipArchiveMode.Update)

    let entry = archive.GetEntry "ExistingFile.txt"
    use writer = new StreamWriter(entry.Open())

    writer.BaseStream.Seek(0, SeekOrigin.End) |> ignore
    writer.WriteLine "append line to file"

    entry.LastWriteTime <- DateTimeOffset.UtcNow.LocalDateTime
    0
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

설명

지정된 이름을 가진 여러 항목이 보관 파일에 있는 경우 첫 번째 항목이 반환됩니다. 항목의 이름은 서수 비교를 사용하는 것과 entryName 비교됩니다.

적용 대상