ZipArchive.CreateEntry ZipArchive.CreateEntry ZipArchive.CreateEntry ZipArchive.CreateEntry Method

定義

空のエントリを zip アーカイブに作成します。Creates an empty entry in the zip archive.

オーバーロード

CreateEntry(String) CreateEntry(String) CreateEntry(String) CreateEntry(String)

指定したパスとエントリ名を持つ空のエントリを zip アーカイブに作成します。Creates an empty entry that has the specified path and entry name in the zip archive.

CreateEntry(String, CompressionLevel) CreateEntry(String, CompressionLevel) CreateEntry(String, CompressionLevel)

指定したエントリ名と圧縮レベルを持つ空のエントリを zip アーカイブに作成します。Creates an empty entry that has the specified entry name and compression level in the zip archive.

CreateEntry(String) CreateEntry(String) CreateEntry(String) CreateEntry(String)

指定したパスとエントリ名を持つ空のエントリを zip アーカイブに作成します。Creates an empty entry that has the specified path and entry name in the zip archive.

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

パラメーター

entryName
String String String String

作成されるエントリの名前を指定する、アーカイブのルートを基準とするパス。A path, relative to the root of the archive, that specifies the name of the entry to be created.

戻り値

zip アーカイブ内の空のエントリ。An empty entry in the zip archive.

例外

zip アーカイブは書き込みをサポートしません。The zip archive does not support writing.

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

次の例では、ストリームを使用してエントリを作成し、それに書き込む方法を示します。The following example shows how to create an entry and write to it by using a stream.

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

注釈

文字列entryNameには、zip アーカイブ内に作成するエントリの相対パスを反映する必要があります。The entryName string should reflect the relative path of the entry you want to create within the zip archive. 指定した文字列に制限はありません。There is no restriction on the string you provide. ただし、相対パスとして書式設定されていない場合はエントリが作成されますが、zip アーカイブの内容を抽出するときに例外が発生する可能性があります。However, if it is not formatted as a relative path, the entry is created, but you may get an exception when you extract the contents of the zip archive. 指定したパスと名前を持つエントリがアーカイブ内に既に存在する場合は、同じパスと名前で2番目のエントリが作成されます。If an entry with the specified path and name already exists in the archive, a second entry is created with the same path and name.

新しいエントリのLastWriteTimeプロパティの値は、現在の時刻に設定されます。The value of the LastWriteTime property for the new entry is set to the current time. このエントリは、基になる圧縮アルゴリズムの既定の圧縮レベルを使用して圧縮されます。The entry is compressed using the default compression level of the underlying compression algorithm. 別の圧縮レベルを指定する場合は、 CreateEntryメソッドを使用します。If you want to specify a different compression level, use the CreateEntry method.

CreateEntry(String, CompressionLevel) CreateEntry(String, CompressionLevel) CreateEntry(String, CompressionLevel)

指定したエントリ名と圧縮レベルを持つ空のエントリを zip アーカイブに作成します。Creates an empty entry that has the specified entry name and compression level in the zip archive.

public:
 System::IO::Compression::ZipArchiveEntry ^ CreateEntry(System::String ^ entryName, System::IO::Compression::CompressionLevel compressionLevel);
public System.IO.Compression.ZipArchiveEntry CreateEntry (string entryName, System.IO.Compression.CompressionLevel compressionLevel);
member this.CreateEntry : string * System.IO.Compression.CompressionLevel -> System.IO.Compression.ZipArchiveEntry

パラメーター

entryName
String String String String

作成されるエントリの名前を指定する、アーカイブのルートを基準とするパス。A path, relative to the root of the archive, that specifies the name of the entry to be created.

compressionLevel
CompressionLevel CompressionLevel CompressionLevel CompressionLevel

エントリの作成時に速度または圧縮の有効性を強調するかどうかを示す列挙値の 1 つ。One of the enumeration values that indicates whether to emphasize speed or compression effectiveness when creating the entry.

戻り値

zip アーカイブ内の空のエントリ。An empty entry in the zip archive.

例外

zip アーカイブは書き込みをサポートしません。The zip archive does not support writing.

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

次の例では、最適な圧縮レベルを使用してエントリを作成する方法を示します。The following example shows how to create an entry with the optimal compression level. また、ストリームを使用して新しいエントリに書き込みます。It also writes to the new entry by using a stream.

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("========================");
                    }
                }
            }
        }
    }
}
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", CompressionLevel.Optimal)
                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

注釈

文字列entryNameには、zip アーカイブ内に作成するエントリの相対パスを反映する必要があります。The entryName string should reflect the relative path of the entry you want to create within the zip archive. 指定した文字列に制限はありません。There is no restriction on the string you provide. ただし、相対パスとして書式設定されていない場合はエントリが作成されますが、zip アーカイブの内容を抽出するときに例外が発生する可能性があります。However, if it is not formatted as a relative path, the entry is created, but you may get an exception when you extract the contents of the zip archive. 指定した名前のエントリがアーカイブ内に既に存在する場合は、同じ名前で2番目のエントリが作成されます。If an entry with the specified name already exists in the archive, a second entry is created with the same name.

新しいエントリのLastWriteTimeプロパティの値は、現在の時刻に設定されます。The value of the LastWriteTime property for the new entry is set to the current time. ファイルをcompressionLevel可能なOptimal限り圧縮する場合は、パラメーターをに設定します。Set the compressionLevel parameter to Optimal if you want the file to be compressed as much as possible. このパラメーターをにFastest設定するのは、圧縮操作がシナリオに対して十分に完了しないことが心配な場合のみにしてください。 compressionLevelSet the compressionLevel parameter to Fastest only if you are concerned that the compression operation will not complete quickly enough for your scenario.

適用対象