ZipArchive.GetEntry(String) メソッド

定義

zip アーカイブ内の指定したエントリのラッパーを取得します。Retrieves a wrapper for the specified entry in the zip archive.

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

取得するエントリを識別する、アーカイブのルートを基準とするパス。A path, relative to the root of the archive, that identifies the entry to retrieve.

戻り値

ZipArchiveEntry

アーカイブ内の指定されたエントリのラッパー。エントリがアーカイブに存在しない場合は nullA wrapper for the specified entry in the archive; null if the entry does not exist in the archive.

例外

entryNameEmptyです。entryName is Empty.

entryNamenullです。entryName is null.

zip アーカイブは読み取りをサポートしません。The zip archive does not support reading.

zip アーカイブが破棄されました。The zip archive has been disposed.

zip アーカイブが破損しているため、エントリを取得できません。The zip archive is corrupt, and its entries cannot be retrieved.

次の例は、メソッドを使用してエントリを取得する方法を示して GetEntry います。The following example shows how to use the GetEntry method to retrieve an entry.

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

注釈

指定された名前を持つ複数のエントリがアーカイブ内に存在する場合は、最初のエントリが返されます。If multiple entries that have the specified name exist in the archive, the first one is returned. エントリの名前は、序数による比較を使用した場合と比較され entryName ます。The name of the entry is compared to entryName using ordinal comparison.

適用対象