ZipFile クラス

定義

zip アーカイブを作成、抽出、および開く静的メソッドを提供します。

public ref class ZipFile abstract sealed
public static class ZipFile
type ZipFile = class
Public Class ZipFile
継承
ZipFile

注釈

Note

.NET Framework アプリで ZipFile クラスを使用するには、プロジェクトの System.IO.Compression.FileSystem アセンブリへの参照を追加する必要があります。 Visual Studioでプロジェクトへの参照を追加する方法については、「方法: 参照の追加または削除を参照してください。

zip アーカイブとそのファイルを操作するためのメソッドは、 ZipFileZipArchiveZipArchiveEntryの 3 つのクラスに分散されます。

宛先。。。 使用。。。
ディレクトリから zip アーカイブを作成する ZipFile.CreateFromDirectory
zip アーカイブの内容をディレクトリに抽出する ZipFile.ExtractToDirectory
既存の zip アーカイブに新しいファイルを追加する ZipArchive.CreateEntry
zip アーカイブ内のファイルを取得する ZipArchive.GetEntry
zip アーカイブ内のすべてのファイルを取得する ZipArchive.Entries
zip アーカイブに含まれる個々のファイルへのストリームを開く ZipArchiveEntry.Open
zip アーカイブからファイルを削除する ZipArchiveEntry.Delete

この例では、 ZipFile クラスを使用して zip アーカイブを作成および抽出する方法を示します。 フォルダーの内容が zip アーカイブに圧縮され、その内容が新しいフォルダーに抽出されます。

using System;
using System.IO.Compression;

class Program
{
    static void Main(string[] args)
    {
        string startPath = @".\start";
        string zipPath = @".\result.zip";
        string extractPath = @".\extract";

        ZipFile.CreateFromDirectory(startPath, zipPath);

        ZipFile.ExtractToDirectory(zipPath, extractPath);
    }
}
Imports System.IO.Compression

Module Module1

    Sub Main()
        Dim startPath As String = ".\start"
        Dim zipPath As String = ".\result.zip"
        Dim extractPath As String = ".\extract"

        ZipFile.CreateFromDirectory(startPath, zipPath)

        ZipFile.ExtractToDirectory(zipPath, extractPath)
    End Sub

End Module

メソッド

名前 説明
CreateFromDirectory(String, Stream, CompressionLevel, Boolean, Encoding)

指定したディレクトリのファイルとディレクトリを含む zip アーカイブを指定されたストリームに作成し、エントリ名とコメントに指定した圧縮レベルと文字エンコードを使用し、必要に応じてベース ディレクトリを含めます。

CreateFromDirectory(String, Stream, CompressionLevel, Boolean)

指定したディレクトリのファイルとディレクトリを含み、指定した圧縮レベルを使用し、必要に応じてベース ディレクトリを含む zip アーカイブを指定したストリームに作成します。

CreateFromDirectory(String, Stream)

指定したディレクトリのファイルとディレクトリを含む zip アーカイブを指定したストリームに作成します。

CreateFromDirectory(String, String, CompressionLevel, Boolean, Encoding)

指定したディレクトリのファイルとディレクトリを含む zip アーカイブを作成し、エントリ名とコメントに指定した圧縮レベルと文字エンコードを使用し、必要に応じてベース ディレクトリを含めます。

CreateFromDirectory(String, String, CompressionLevel, Boolean)

指定したディレクトリのファイルとディレクトリを含む zip アーカイブを作成し、指定した圧縮レベルを使用し、必要に応じてベース ディレクトリを含めます。

CreateFromDirectory(String, String)

指定したディレクトリのファイルとディレクトリを含む zip アーカイブを作成します。

CreateFromDirectoryAsync(String, Stream, CancellationToken)

指定したディレクトリのファイルとディレクトリを含む zip アーカイブを指定したストリームに非同期で作成します。

CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, CancellationToken)

指定した圧縮レベルを使用し、必要に応じてベース ディレクトリを含め、指定したディレクトリのファイルとディレクトリを含む zip アーカイブを指定されたストリームに非同期で作成します。

CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, Encoding, CancellationToken)

指定したディレクトリのファイルとディレクトリを含む zip アーカイブを、エントリ名に指定した圧縮レベルと文字エンコードを使用して非同期的に作成し、必要に応じてベース ディレクトリを含めます。

CreateFromDirectoryAsync(String, String, CancellationToken)

sourceDirectoryNameで指定されたディレクトリのファイルとディレクトリを含むパス destinationArchiveFileNameに zip アーカイブを非同期的に作成します。

CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, CancellationToken)

sourceDirectoryNameで指定されたディレクトリ内のファイルとディレクトリを含むパス destinationArchiveFileNameに zip アーカイブを非同期的に作成します。

CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, Encoding, CancellationToken)

sourceDirectoryNameで指定されたディレクトリ内のファイルとディレクトリを含むパス destinationArchiveFileNameに zip アーカイブを非同期的に作成します。

ExtractToDirectory(Stream, String, Boolean)

指定したストリームに格納されている zip アーカイブからすべてのファイルを抽出し、ファイル システム上の指定された宛先ディレクトリに配置します。必要に応じて、転送先ディレクトリ内のファイルを上書きするかどうかを選択できます。

ExtractToDirectory(Stream, String, Encoding, Boolean)

指定したストリームに格納されている zip アーカイブからすべてのファイルを抽出し、ファイル システム上の指定された宛先ディレクトリに配置し、エントリ名とコメントに指定した文字エンコーディングを使用し、必要に応じて、転送先ディレクトリ内のファイルを上書きするかどうかを選択できます。

ExtractToDirectory(Stream, String, Encoding)

指定したストリームに格納されている zip アーカイブからすべてのファイルを抽出し、ファイル システム上の指定された宛先ディレクトリに配置し、エントリ名とコメントに指定した文字エンコードを使用します。

ExtractToDirectory(Stream, String)

指定したストリームに格納されている zip アーカイブからすべてのファイルを抽出し、ファイル システム上の指定した宛先ディレクトリに配置します。

ExtractToDirectory(String, String, Boolean)

指定したアーカイブ内のすべてのファイルをファイル システム上のディレクトリに抽出します。

ExtractToDirectory(String, String, Encoding, Boolean)

指定したアーカイブ内のすべてのファイルをファイル システム上のディレクトリに抽出します。

ExtractToDirectory(String, String, Encoding)

指定した zip アーカイブ内のすべてのファイルをファイル システム上のディレクトリに抽出し、エントリ名とコメントに指定した文字エンコードを使用します。

ExtractToDirectory(String, String)

指定した zip アーカイブ内のすべてのファイルをファイル システム上のディレクトリに抽出します。

ExtractToDirectoryAsync(Stream, String, Boolean, CancellationToken)

指定したストリームに格納されている zip アーカイブからすべてのファイルを非同期に抽出し、ファイル システム上の指定された宛先ディレクトリに配置します。必要に応じて、転送先ディレクトリ内のファイルを上書きするかどうかを選択できます。

ExtractToDirectoryAsync(Stream, String, CancellationToken)

指定したストリームに格納されている zip アーカイブからすべてのファイルを非同期に抽出し、ファイル システム上の指定した宛先ディレクトリに配置します。

ExtractToDirectoryAsync(Stream, String, Encoding, Boolean, CancellationToken)

指定したストリームに格納されている zip アーカイブからすべてのファイルを非同期的に抽出し、ファイル システム上の指定された宛先ディレクトリに配置し、エントリ名に指定した文字エンコーディングを使用し、必要に応じて、転送先ディレクトリ内のファイルを上書きするかどうかを選択できます。

ExtractToDirectoryAsync(Stream, String, Encoding, CancellationToken)

指定したストリームに格納されている zip アーカイブからすべてのファイルを非同期に抽出し、ファイル システム上の指定された宛先ディレクトリに配置し、エントリ名に指定した文字エンコードを使用します。

ExtractToDirectoryAsync(String, String, Boolean, CancellationToken)

指定したアーカイブ内のすべてのファイルを、ファイル システム上のディレクトリに非同期的に抽出します。

ExtractToDirectoryAsync(String, String, CancellationToken)

指定したアーカイブ内のすべてのファイルを、ファイル システム上のディレクトリに非同期的に抽出します。

ExtractToDirectoryAsync(String, String, Encoding, Boolean, CancellationToken)

指定したアーカイブ内のすべてのファイルを、ファイル システム上のディレクトリに非同期的に抽出します。

指定したディレクトリは存在できません。 このメソッドは、すべてのサブディレクトリと指定したディレクトリを作成します。

アーカイブの抽出中にエラーが発生した場合、アーカイブは部分的に抽出されたままになります。 各エントリは、抽出されたファイルが、エントリがアーカイブに対して持っているのと同じ相対パスを destinationDirectoryName に持つように抽出されます。 パスには、相対パスまたは絶対パス情報を指定できます。 相対パス情報は、現在の作業ディレクトリに対する相対パスとして解釈されます。 アーカイブするファイルに無効な最終変更時刻がある場合は、zip タイムスタンプ形式 (1980 年 1 月 1 日午前 0 時) で表される最初の日時が使用されます。

ExtractToDirectoryAsync(String, String, Encoding, CancellationToken)

指定したアーカイブ内のすべてのファイルを、ファイル システム上のディレクトリに非同期的に抽出します。

Open(String, ZipArchiveMode, Encoding)

指定したパスで、指定したモードで、エントリ名とコメントに指定した文字エンコードを使用して、zip アーカイブを開きます。

Open(String, ZipArchiveMode)

指定したパスと指定したモードで zip アーカイブを開きます。

OpenAsync(String, ZipArchiveMode, CancellationToken)

指定したZipArchiveMode モードで、指定したarchiveFileNameZipArchiveを非同期に開きます。

OpenAsync(String, ZipArchiveMode, Encoding, CancellationToken)

指定したZipArchiveMode モードで、指定したarchiveFileNameZipArchiveを非同期に開きます。

OpenRead(String)

指定したパスで読み取るための zip アーカイブを開きます。

OpenReadAsync(String, CancellationToken)

指定したパスの ZipArchive を読み取り用に非同期的に開きます。 指定したファイルが FileMode.Openで開かれます。

適用対象