ZipArchive.CreateEntry メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
空のエントリを zip アーカイブに作成します。
オーバーロード
CreateEntry(String) |
指定したパスとエントリ名を持つ空のエントリを zip アーカイブに作成します。 |
CreateEntry(String, CompressionLevel) |
指定したエントリ名と圧縮レベルを持つ空のエントリを zip アーカイブに作成します。 |
CreateEntry(String)
- ソース:
- ZipArchive.cs
- ソース:
- ZipArchive.cs
- ソース:
- ZipArchive.cs
指定したパスとエントリ名を持つ空のエントリを zip アーカイブに作成します。
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
作成されるエントリの名前を指定する、アーカイブのルートを基準とするパス。
戻り値
zip アーカイブ内の空のエントリ。
例外
entryName
が Emptyです。
entryName
が null
です。
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("========================");
}
}
}
}
}
}
open System.IO
open System.IO.Compression
do
use zipToOpen = new FileStream(@"c:\users\exampleuser\release.zip", FileMode.Open)
use archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update)
let readmeEntry = archive.CreateEntry "Readme.txt"
use 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 アーカイブ内に作成するエントリの相対パスが反映されている必要があります。 指定する文字列に制限はありません。 ただし、相対パスとして書式設定されていない場合は、エントリが作成されますが、zip アーカイブの内容を抽出するときに例外が発生する可能性があります。 指定したパスと名前を持つエントリがアーカイブに既に存在する場合は、同じパスと名前を持つ 2 番目のエントリが作成されます。
新しいエントリの LastWriteTime プロパティの値は、現在の時刻に設定されます。 エントリは、基になる圧縮アルゴリズムの既定の圧縮レベルを使用して圧縮されます。 別の圧縮レベルを指定する場合は、 メソッドを使用します CreateEntry 。
適用対象
CreateEntry(String, CompressionLevel)
- ソース:
- ZipArchive.cs
- ソース:
- ZipArchive.cs
- ソース:
- ZipArchive.cs
指定したエントリ名と圧縮レベルを持つ空のエントリを zip アーカイブに作成します。
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
Public Function CreateEntry (entryName As String, compressionLevel As CompressionLevel) As ZipArchiveEntry
パラメーター
- entryName
- String
作成されるエントリの名前を指定する、アーカイブのルートを基準とするパス。
- compressionLevel
- CompressionLevel
エントリの作成時に速度または圧縮の有効性を強調するかどうかを示す列挙値の 1 つ。
戻り値
zip アーカイブ内の空のエントリ。
例外
entryName
が Emptyです。
entryName
が null
です。
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("========================");
}
}
}
}
}
}
open System.IO
open System.IO.Compression
do
use zipToOpen = new FileStream(@"c:\users\exampleuser\release.zip", FileMode.Open)
use archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update)
let readmeEntry = archive.CreateEntry("Readme.txt", CompressionLevel.Optimal)
use 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 アーカイブ内に作成するエントリの相対パスが反映されている必要があります。 指定する文字列に制限はありません。 ただし、相対パスとして書式設定されていない場合は、エントリが作成されますが、zip アーカイブの内容を抽出するときに例外が発生する可能性があります。 指定した名前のエントリがアーカイブに既に存在する場合は、同じ名前の 2 番目のエントリが作成されます。
新しいエントリの LastWriteTime プロパティの値は、現在の時刻に設定されます。 ファイルを compressionLevel
できるだけ圧縮する場合は、 パラメーターを に設定します Optimal 。 パラメーターを compressionLevel
に Fastest 設定するのは、圧縮操作がシナリオに対して十分に迅速に完了しないことが懸念される場合のみです。
適用対象
.NET