ZipFileExtensions.CreateEntryFromFile メソッド

定義

圧縮し、zip アーカイブに追加することでファイルをアーカイブします。

オーバーロード

CreateEntryFromFile(ZipArchive, String, String)

圧縮し、zip アーカイブに追加することでファイルをアーカイブします。

CreateEntryFromFile(ZipArchive, String, String, CompressionLevel)

指定した圧縮レベルで圧縮し、zip アーカイブに追加することでファイルをアーカイブします。

CreateEntryFromFile(ZipArchive, String, String)

ソース:
ZipFileExtensions.ZipArchive.Create.cs
ソース:
ZipFileExtensions.ZipArchive.Create.cs
ソース:
ZipFileExtensions.ZipArchive.Create.cs

圧縮し、zip アーカイブに追加することでファイルをアーカイブします。

public:
[System::Runtime::CompilerServices::Extension]
 static System::IO::Compression::ZipArchiveEntry ^ CreateEntryFromFile(System::IO::Compression::ZipArchive ^ destination, System::String ^ sourceFileName, System::String ^ entryName);
public static System.IO.Compression.ZipArchiveEntry CreateEntryFromFile (this System.IO.Compression.ZipArchive destination, string sourceFileName, string entryName);
static member CreateEntryFromFile : System.IO.Compression.ZipArchive * string * string -> System.IO.Compression.ZipArchiveEntry
<Extension()>
Public Function CreateEntryFromFile (destination As ZipArchive, sourceFileName As String, entryName As String) As ZipArchiveEntry

パラメーター

destination
ZipArchive

ファイルに追加するzip アーカイブ。

sourceFileName
String

アーカイブするファイルへのパス。 相対パスと絶対パスのどちらかを指定することができます。 相対パスは、現在の作業ディレクトリに対して相対的に解釈されます。

entryName
String

zip アーカイブ内に作成するエントリの名前。

戻り値

zip アーカイブ内の新しいエントリのラッパー。

例外

sourceFileNameEmpty か、空白のみが含まれているか、無効な文字が少なくとも 1 つ含まれています。

- または -

entryNameEmptyです。

sourceFileName または entryNamenull です。

sourceFileName で、指定したパス、ファイル名、またはその両方がシステム定義の最大長を超えています。

sourceFileName が有効ではありません (たとえば、マップされていないドライブにあるなど)。

sourceFileName 指定されたファイルを開くことができないか、大きすぎて更新できません (現在の制限は Int32.MaxValue です)。

sourceFileName がディレクトリを指定しています。

- または -

sourceFileName によって指定されたファイルにアクセスするために必要なアクセス許可が呼び出し元にありません。

sourceFileName で指定されたファイルが見つかりません。

sourceFileName パラメーターの形式が正しくありません。

- または -

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

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

次の例は、既存のファイルから zip アーカイブに新しいエントリを作成する方法を示しています。

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

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string zipPath = @"c:\users\exampleuser\start.zip";
            string extractPath = @"c:\users\exampleuser\extract";
            string newFile = @"c:\users\exampleuser\NewFile.txt";

            using (ZipArchive archive = ZipFile.Open(zipPath, ZipArchiveMode.Update))
            {
                archive.CreateEntryFromFile(newFile, "NewEntry.txt");
                archive.ExtractToDirectory(extractPath);
            }
        }
    }
}
Imports System.IO
Imports System.IO.Compression

Module Module1

    Sub Main()
        Dim zipPath As String = "c:\users\exampleuser\end.zip"
        Dim extractPath As String = "c:\users\exampleuser\extract"
        Dim newFile As String = "c:\users\exampleuser\NewFile.txt"

        Using archive As ZipArchive = ZipFile.Open(zipPath, ZipArchiveMode.Update)
            archive.CreateEntryFromFile(newFile, "NewEntry.txt", CompressionLevel.Fastest)
            archive.ExtractToDirectory(extractPath)
        End Using
    End Sub

End Module

注釈

アーカイブ内の新しいエントリには、 で sourceFileName指定されたファイルの内容が含まれています。 指定した名前のエントリ (entryName) がアーカイブに既に存在する場合は、同じ名前の 2 番目のエントリが作成されます。 エントリの プロパティは LastWriteTime 、ファイル システム上のファイルが最後に変更された時刻に設定されます。

が存在する場合 ZipArchiveMode.Update 、エントリのサイズ制限は に Int32.MaxValue制限されます。 この制限は、更新モードでは、 を MemoryStream 内部的に使用してアーカイブの更新時に必要なシークを許可し、int のサイズに MemoryStream 等しい最大値を持っているためです。

適用対象

CreateEntryFromFile(ZipArchive, String, String, CompressionLevel)

ソース:
ZipFileExtensions.ZipArchive.Create.cs
ソース:
ZipFileExtensions.ZipArchive.Create.cs
ソース:
ZipFileExtensions.ZipArchive.Create.cs

指定した圧縮レベルで圧縮し、zip アーカイブに追加することでファイルをアーカイブします。

public:
[System::Runtime::CompilerServices::Extension]
 static System::IO::Compression::ZipArchiveEntry ^ CreateEntryFromFile(System::IO::Compression::ZipArchive ^ destination, System::String ^ sourceFileName, System::String ^ entryName, System::IO::Compression::CompressionLevel compressionLevel);
public static System.IO.Compression.ZipArchiveEntry CreateEntryFromFile (this System.IO.Compression.ZipArchive destination, string sourceFileName, string entryName, System.IO.Compression.CompressionLevel compressionLevel);
static member CreateEntryFromFile : System.IO.Compression.ZipArchive * string * string * System.IO.Compression.CompressionLevel -> System.IO.Compression.ZipArchiveEntry
<Extension()>
Public Function CreateEntryFromFile (destination As ZipArchive, sourceFileName As String, entryName As String, compressionLevel As CompressionLevel) As ZipArchiveEntry

パラメーター

destination
ZipArchive

ファイルに追加するzip アーカイブ。

sourceFileName
String

アーカイブするファイルへのパス。 相対パスと絶対パスのどちらかを指定することができます。 相対パスは、現在の作業ディレクトリに対して相対的に解釈されます。

entryName
String

zip アーカイブ内に作成するエントリの名前。

compressionLevel
CompressionLevel

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

戻り値

zip アーカイブ内の新しいエントリのラッパー。

例外

sourceFileNameEmpty か、空白のみが含まれているか、無効な文字が少なくとも 1 つ含まれています。

- または -

entryNameEmptyです。

sourceFileName または entryNamenull です。

sourceFileName が有効ではありません (たとえば、マップされていないドライブにあるなど)。

sourceFileName で、指定したパス、ファイル名、またはその両方がシステム定義の最大長を超えています。

sourceFileName 指定されたファイルを開くことができないか、大きすぎて更新できません (現在の制限は Int32.MaxValue です)。

sourceFileName がディレクトリを指定しています。

- または -

sourceFileName によって指定されたファイルにアクセスするために必要なアクセス許可が呼び出し元にありません。

sourceFileName で指定されたファイルが見つかりません。

sourceFileName パラメーターの形式が正しくありません。

- または -

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

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

次の例は、既存のファイルから zip アーカイブに新しいエントリを作成し、圧縮レベルを指定する方法を示しています。

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

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string zipPath = @"c:\users\exampleuser\start.zip";
            string extractPath = @"c:\users\exampleuser\extract";
            string newFile = @"c:\users\exampleuser\NewFile.txt";

            using (ZipArchive archive = ZipFile.Open(zipPath, ZipArchiveMode.Update))
            {
                archive.CreateEntryFromFile(newFile, "NewEntry.txt", CompressionLevel.Fastest);
                archive.ExtractToDirectory(extractPath);
            }
        }
    }
}
Imports System.IO
Imports System.IO.Compression

Module Module1

    Sub Main()
        Dim zipPath As String = "c:\users\exampleuser\end.zip"
        Dim extractPath As String = "c:\users\exampleuser\extract"
        Dim newFile As String = "c:\users\exampleuser\NewFile.txt"

        Using archive As ZipArchive = ZipFile.Open(zipPath, ZipArchiveMode.Update)
            archive.CreateEntryFromFile(newFile, "NewEntry.txt", CompressionLevel.Fastest)
            archive.ExtractToDirectory(extractPath)
        End Using
    End Sub

End Module

注釈

アーカイブ内の新しいエントリには、 で sourceFileName指定されたファイルの内容が含まれています。 指定した名前のエントリ (entryName) がアーカイブに既に存在する場合は、同じ名前の 2 番目のエントリが作成されます。 エントリの プロパティは LastWriteTime 、ファイル システム上のファイルが最後に変更された時刻に設定されます。

が存在する場合 ZipArchiveMode.Update 、エントリのサイズ制限は に Int32.MaxValue制限されます。 この制限は、更新モードでは、 を MemoryStream 内部的に使用してアーカイブの更新時に必要なシークを許可し、int のサイズに MemoryStream 等しい最大値を持っているためです。

適用対象