C#でプログラム的にファイルやフォルダをZIPアーカイブに追加する
C#におけるZIPアーカイブの紹介 ZIPアーカイブは、ファイルやフォルダを一つのコンテナに圧縮して整理するために不可欠です。これにより、効率的なストレージと転送のためにファイルサイズを削減するだけでなく、メタデータを保持し、セキュリティ目的で暗号化することも可能です。この記事では、C#でプログラム的にZIPファイルを作成するためのさまざまな方法をガイドし、ファイルやフォルダの追加、パスワード保護されたアーカイブの作成、AES暗号化の適用などの操作をカバーします。 学べること この記事では、以下のことを学びます: C#でZIPアーカイブを作成する ZIPアーカイブに複数のファイルを追加する ZIPアーカイブにフォルダを追加する ZipCryptoを使ってパスワード保護されたZIPアーカイブを作成する AES暗号化でZIPアーカイブを暗号化する 並列圧縮モードを設定する C# ZIPライブラリ **Aspose.ZIP for .NETライブラリは、.NETアプリケーション内でZIPファイル操作を扱うための強力なツールです。ファイルやフォルダの圧縮や解凍のプロセスを簡素化し、セキュリティを強化するためのAES暗号化をサポートしています。このライブラリは、NuGetから簡単にインストールするか、ダウンロード**セクションからバイナリをダウンロードできます。 C#でZIPアーカイブを作成する C#でプログラム的にZIPファイルを作成するには、以下の手順に従います: 出力ZIPアーカイブのためのFileStreamオブジェクトを作成します。 ソースファイルを_FileStream_オブジェクトとして開きます。 Archiveクラスをインスタンス化します。 Archive.CreateEntry(string, FileStream)メソッドを使用してファイルをアーカイブに追加します。 Archive.Save(FileStream)メソッドでZIPアーカイブを保存します。 以下は、C#でZIPアーカイブにファイルを追加する方法を示すコードサンプルです: C#でZIPアーカイブに複数のファイルを追加する ZIPアーカイブに複数のファイルを追加する必要がある場合、いくつかのアプローチを使用できます: FileStreamを使用して複数のファイルを追加 この方法では、_FileStream_クラスを使用して、Archive.CreateEntry(String, FileStream)メソッドを介してファイルをZIPアーカイブに追加します。以下のようにできます: FileInfoを使用して複数のファイルを追加 また、FileInfoクラスを利用してファイルを読み込み、Archive.CreateEntry(String, FileInfo)メソッドでZIPアーカイブに追加することもできます。以下はコードサンプルです: ファイルパスを使用 Archive.CreateEntry(String name, String path, Boolean openImmediately, ArchiveEntrySettings newEntrySettings)メソッドに直接ファイルパスを提供することもできます。以下はその例です: C#でZIPアーカイブにフォルダを追加する C#でZIPアーカイブにフォルダを追加するには、以下の手順に従います: 出力ZIPアーカイブのためのFileStreamオブジェクトを作成します。 Archiveクラスをインスタンス化します。 DirectoryInfoクラスを使用して、ZIPにしたいフォルダを指定します。 Archive.CreateEntries(DirectoryInfo)メソッドを使用してフォルダをZIPに追加します。 Archive.Save(FileStream)メソッドでZIPアーカイブを保存します。 以下は、フォルダをZIPファイルに追加する方法を示すコードサンプルです: ZipCryptoを使用してC#でパスワード保護されたZIPを作成する ZIPアーカイブを保護するために、ZipCrypto暗号化を使用してパスワード保護を適用できます。これは、Archiveのコンストラクタ内でArchiveEntrySettingsクラスを利用して、暗号化タイプをパラメータとして受け取ることで実現します。 以下は、C#でZipCryptoを使用してパスワード保護されたZIPアーカイブを作成する方法です: AES暗号化でパスワード保護されたZIPを作成する Aspose.ZIP for .NETライブラリは、ZIPアーカイブを保護するためのAES暗号化もサポートしています。以下のAES暗号化メソッドから選択できます: AES128 AES192 AES256 AES暗号化を適用するには、AesEcryptionSettingsクラスを使用します。以下は、C#でAES暗号化を使用してパスワード保護されたZIPを作成する方法を示すコードサンプルです: 並列圧縮モードを設定する 複数のエントリを効率的に処理するために、ParallelOptionsクラスを使用してAPIを並列圧縮用に設定できます。利用可能な並列圧縮モードは次のとおりです: Never - 並列で圧縮しない。 Always - 並列で圧縮する(メモリの問題に注意)。 Auto - エントリに基づいて並列圧縮を使用するかどうかを自動的に決定します。 以下は、Aspose C# ZIPライブラリを使用して複数のファイルをZIPする際に並列圧縮モードを設定する方法です: ...