C#で7Zipアーカイブを作成

前回の投稿では、C#を使用してZIPアーカイブを作成するさまざまな方法を探りました。この記事では、その基盤を拡張し、7z形式に焦点を当てます。7z形式はオープンソースのアーキテクチャに基づいており、高い圧縮率を提供するとともに、256ビットAES暗号化を使用してファイルとその名前を保護する機能を持っています。

学べること

このガイドでは、C#を使用して7z(7-Zip)アーカイブをプログラムで作成する方法を学びます。以下の内容をカバーします:

すべての例とコードスニペットは、Aspose.ZIP for .NET APIに基づいています。以下のいずれかの方法でAPIをインストールしてください:

C#を使用して7z(7-Zip)アーカイブを作成する

ファイルを7zアーカイブに圧縮するには、主に2つのシナリオがあります:単一ファイルまたは複数ファイルを扱う場合です。両方の状況を処理する方法は以下の通りです。

単一エントリの7zアーカイブを作成する

単一ファイルで7zアーカイブを作成するには、次の手順に従います:

  1. 新しいFileStreamを開いて7zファイルを作成します。
  2. SevenZipArchiveクラスのインスタンスを作成します。
  3. SevenZipArchive.CreateEntry(String, String, Boolean, SevenZipEntrySettings)メソッドを使用して、ファイルをアーカイブに追加します。
  4. SevenZipArchive.Save(Stream)メソッドを使用してアーカイブを保存します。

以下は、上記の手順を示すC# 7zアーカイブの例です:

複数エントリの7zアーカイブを作成する

複数のファイルを圧縮する必要がある場合は、それらをフォルダーに配置し、フォルダーのパスをSevenZipArchive.CreateEntries()メソッドに渡します。次の手順に従います:

  1. SevenZipArchiveクラスのインスタンスを作成します。
  2. フォルダーのパスをSevenZipArchive.CreateEntries(String, Boolean)メソッドに渡します。
  3. SevenZipArchive.Save(String)メソッドを呼び出します。

以下は、C#を使用して複数エントリの7zアーカイブを作成する方法です:

C#を使用してAES暗号化された7zアーカイブを作成する

7z形式は、追加のセキュリティのためにAES暗号化をサポートしています。7zファイルを暗号化するには、SevenZipAESEncryptionSettingsクラスを使用します。以下は、C#を使用してAES暗号化された7zアーカイブを作成する方法を示すコードサンプルです:

C#を使用して7zエントリに異なるパスワードを設定する

7z形式では、各ファイルエントリにユニークなパスワードを割り当てることもできます。複数のファイルを圧縮する場合は、各ファイルに異なるパスワードを指定できます。以下の手順で行います:

  1. 7zアーカイブファイルのために新しいFileStreamを作成します。
  2. FileInfoクラスを使用して各ファイルエントリにアクセスします。
  3. SevenZipArchiveクラスのインスタンスを作成します。
  4. SevenZipArchive.CreateEntry(String, FileInfo, Boolean, SevenZipEntrySettings)メソッドを使用して7zアーカイブにエントリを追加します。
  5. SevenZipArchive.Save(Stream)メソッドを使用してアーカイブを保存します。

以下のコードサンプルをチェックして、7zアーカイブ内の各エントリに異なるパスワードを設定する方法を確認してください:

結論

この記事では、C#を使用して7zアーカイブをプログラムで作成する方法を探りました。また、セキュリティを強化するためのAES暗号化の実装と、各ファイルエントリにユニークなパスワードを設定する方法についても説明しました。ファイルの圧縮と解凍に関するさらに詳しい情報は、Aspose.ZIPドキュメントを参照してください。

関連記事

Asposeプラグインを利用することで、アプリケーションに**.NET 7-Zip圧縮を簡単に統合し、ファイル管理プロセスを合理化し、ソフトウェアの機能を強化できます。わずか99ドル**で、大きなファイルの取り扱いや非同期圧縮などの強力な機能をアンロックできます。