ZipArchiveMode 列挙型

定義

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

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

フィールド

Create 1

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

Read 0

新しいアーカイブ エントリの読み込みに限り許可されます。

Update 2

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

注釈

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

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

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

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

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

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

適用対象