英語で読む

次の方法で共有


ZipArchive.CreateEntry メソッド

定義

空のエントリを zip アーカイブに作成します。

オーバーロード

CreateEntry(String)

指定したパスとエントリ名を持つ空のエントリを zip アーカイブに作成します。

CreateEntry(String, CompressionLevel)

指定したエントリ名と圧縮レベルを持つ空のエントリを zip アーカイブに作成します。

CreateEntry(String)

ソース:
ZipArchive.cs
ソース:
ZipArchive.cs
ソース:
ZipArchive.cs

指定したパスとエントリ名を持つ空のエントリを zip アーカイブに作成します。

public System.IO.Compression.ZipArchiveEntry CreateEntry (string entryName);

パラメーター

entryName
String

作成されるエントリの名前を指定する、アーカイブのルートを基準とするパス。

戻り値

zip アーカイブ内の空のエントリ。

例外

entryNameEmptyです。

entryNamenullです。

zip アーカイブは書き込みをサポートしません。

zip アーカイブが破棄されました。

次の例は、ストリームを使用してエントリを作成し、それに書き込む方法を示しています。

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("========================");
                    }
                }
            }
        }
    }
}

注釈

文字列には entryName 、zip アーカイブ内に作成するエントリの相対パスが反映されている必要があります。 指定する文字列に制限はありません。 ただし、相対パスとして書式設定されていない場合は、エントリが作成されますが、zip アーカイブの内容を抽出するときに例外が発生する可能性があります。 指定したパスと名前を持つエントリがアーカイブに既に存在する場合は、同じパスと名前を持つ 2 番目のエントリが作成されます。

新しいエントリの LastWriteTime プロパティの値は、現在の時刻に設定されます。 エントリは、基になる圧縮アルゴリズムの既定の圧縮レベルを使用して圧縮されます。 別の圧縮レベルを指定する場合は、 メソッドを使用します CreateEntry

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

CreateEntry(String, CompressionLevel)

ソース:
ZipArchive.cs
ソース:
ZipArchive.cs
ソース:
ZipArchive.cs

指定したエントリ名と圧縮レベルを持つ空のエントリを zip アーカイブに作成します。

public System.IO.Compression.ZipArchiveEntry CreateEntry (string entryName, System.IO.Compression.CompressionLevel compressionLevel);

パラメーター

entryName
String

作成されるエントリの名前を指定する、アーカイブのルートを基準とするパス。

compressionLevel
CompressionLevel

エントリの作成時に速度または圧縮の有効性を強調するかどうかを示す列挙値の 1 つ。

戻り値

zip アーカイブ内の空のエントリ。

例外

entryNameEmptyです。

entryNamenullです。

zip アーカイブは書き込みをサポートしません。

zip アーカイブが破棄されました。

次の例は、最適な圧縮レベルでエントリを作成する方法を示しています。 また、ストリームを使用して新しいエントリに書き込みます。

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", CompressionLevel.Optimal);
                    using (StreamWriter writer = new StreamWriter(readmeEntry.Open()))
                    {
                            writer.WriteLine("Information about this package.");
                            writer.WriteLine("========================");
                    }
                }
            }
        }
    }
}

注釈

文字列には entryName 、zip アーカイブ内に作成するエントリの相対パスが反映されている必要があります。 指定する文字列に制限はありません。 ただし、相対パスとして書式設定されていない場合は、エントリが作成されますが、zip アーカイブの内容を抽出するときに例外が発生する可能性があります。 指定した名前のエントリがアーカイブに既に存在する場合は、同じ名前の 2 番目のエントリが作成されます。

新しいエントリの LastWriteTime プロパティの値は、現在の時刻に設定されます。 ファイルを compressionLevel できるだけ圧縮する場合は、 パラメーターを に設定します Optimal 。 パラメーターを compressionLevelFastest 設定するのは、圧縮操作がシナリオに対して十分に迅速に完了しないことが懸念される場合のみです。

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0