ZipArchiveMode 列挙型

定義

zip アーカイブ エントリを操作するための値を指定します。

public enum class ZipArchiveMode
public enum ZipArchiveMode
type ZipArchiveMode = 
Public Enum ZipArchiveMode
継承
ZipArchiveMode

フィールド

名前 説明
Read 0

アーカイブ エントリの読み取りのみが許可されます。

Create 1

新しいアーカイブ エントリの作成のみが許可されます。

Update 2

アーカイブ エントリでは、読み取り操作と書き込み操作の両方が許可されます。

次の例は、ZipArchive オブジェクトを作成するときにZipArchiveMode値を指定する方法を示しています。

using System;
using System.IO;
using System.IO.Compression;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            using (FileStream zipToOpen = new FileStream(@"c:\users\exampleuser\release.zip", FileMode.Open))
            {
                using (ZipArchive archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update))
                {
                    ZipArchiveEntry readmeEntry = archive.CreateEntry("Readme.txt");
                    using (StreamWriter writer = new StreamWriter(readmeEntry.Open()))
                    {
                            writer.WriteLine("Information about this package.");
                            writer.WriteLine("========================");
                    }
                }
            }
        }
    }
}
Imports System.IO
Imports System.IO.Compression

Module Module1

    Sub Main()
        Using zipToOpen As FileStream = New FileStream("c:\users\exampleuser\release.zip", FileMode.Open)
            Using archive As ZipArchive = New ZipArchive(zipToOpen, ZipArchiveMode.Update)
                Dim readmeEntry As ZipArchiveEntry = archive.CreateEntry("Readme.txt")
                Using writer As StreamWriter = New StreamWriter(readmeEntry.Open())
                    writer.WriteLine("Information about this package.")
                    writer.WriteLine("========================")
                End Using
            End Using
        End Using
    End Sub

End Module

注釈

モードを Read に設定すると、基になるファイルまたはストリームは読み取りをサポートする必要がありますが、シークをサポートする必要はありません。 基になるファイルまたはストリームがシークをサポートしている場合、ファイルは要求時にアーカイブから読み取られます。 基になるファイルまたはストリームがシークをサポートしていない場合、アーカイブ全体がメモリに保持されます。

モードを Create に設定すると、基になるファイルまたはストリームは書き込みをサポートする必要がありますが、シークをサポートする必要はありません。 アーカイブ内の各エントリは、書き込み用に 1 回だけ開くことができます。 1 つのエントリを作成した場合、データは使用可能になるとすぐに、基になるストリームまたはファイルに書き込まれます。 CreateFromDirectory メソッドの呼び出しなど、複数のエントリを作成した場合、すべてのエントリが作成された後、基になるストリームまたはファイルにデータが書き込まれます。

モードを Update に設定すると、基になるファイルまたはストリームで読み取り、書き込み、シークがサポートされている必要があります。 アーカイブ全体の内容はメモリに保持され、アーカイブが破棄されるまで、基になるファイルまたはストリームにデータは書き込まれなくなります。

次のメソッドには、アーカイブ モードを指定できる mode という名前のパラメーターが含まれています。

適用対象