C# を使用してアーカイブを圧縮または抽出する方法
概要
この記事では、アーカイブを圧縮または解凍する方法について説明します。これらのアーカイブは、Zip、7z、Rar などの形式である可能性があります。以下のトピックについて説明します。
形式: ZIP
形式: ZIP - パスワード
形式: 7z
形式: RAR
この記事で取り上げるその他のトピック。
C# アーカイブの圧縮または抽出
このページでは、 Aspose.ZIP for .NET を使用して C# で標準的なアーカイブ操作を実行する方法を示します。 Aspose.ZIP パッケージは、次の NuGet コマンドを使用して .NET プロジェクトに追加できます。
1PM> Install-Package Aspose.Zip
アセンブリ参照として .NET プロジェクトに直接追加することもできます。 Aspose.ZIP ライブラリは、ホームページ https://products.aspose.com/zip/net/ からダウンロードできます。
Aspose.ZIP .NET ライブラリは、.NET Core をサポートする任意の OS (Windows、Linux、macOS など) で使用できます。
C# で ZIP ファイルを作成する方法
- Archiveクラスのインスタンスを作成します。
- Archive.CreateEntryメソッドを使用してファイルを追加します。
- Archive.Save メソッドを使用してファイルを圧縮します。
1using (var archive = new Archive())
2{
3 archive.CreateEntry("entry_name1.dat", "input_file1.dat");
4 archive.CreateEntry("entry_name2.dat", "input_file2.dat");
5 archive.Save("result_archive.zip");
6}
アーカイブ クラス コンストラクターは、 Deflate 圧縮アルゴリズム を使用し、暗号化は行わずに通常の ZIP アーカイブを作成します。
C# でファイルを解凍する方法
- _zip ファイル_を使用して Archive クラスのインスタンスを作成します。
- Archive.ExtractToDirectory メソッドを使用して、_zip ファイル_をフォルダーに解凍します。
1using (var archive = new Archive("input_archive.zip"))
2{
3 archive.ExtractToDirectory("\\outputDirectory");
4}
アーカイブ クラスのコンストラクターは、任意の ZIP アーカイブを開くことができます。入力アーカイブがパスワードで保護されている場合は、ArchiveLoadOptions を 2 番目のパラメータとして指定する必要があります (以下の例を参照)。
C#で7zファイルを圧縮する方法
- SevenZipLZMACompressionSettings を使用して SevenZipArchive クラスのインスタンスを作成します。
- SevenZipArchive.CreateEntries メソッドを呼び出してファイルを追加します。
- SevenZipArchive.Save メソッドを呼び出して、7z 形式で保存します。
1using (var archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
2{
3 archive.CreateEntries(CommonConstants.TestFilesFolder + "ManyFilesToCompress");
4 archive.Save(CommonConstants.TestOutFolder + "7Z_ManyFilesToCompress.7z");
5}
新しい 7z アーカイブを作成するには、SevenZipArchive クラス コンストラクターを使用する必要があります。上記のサンプルでは従来の LZMA 圧縮を使用していますが、他の圧縮オプションや暗号化オプションも使用できます。
C#で7zファイルを抽出する方法
- _7z ファイル_を使用して SevenZipArchive クラスのインスタンスを作成します。
- SevenZipArchive.ExtractToDirectory メソッドを呼び出して、7z ファイルの内容を抽出します。
1using (var archive = new SevenZipArchive("input_archive.7z"))
2{
3 archive.ExtractToDirectory("\\outputDirectory");
4}
上記のサンプルでは、SevenZipArchive クラスのコンストラクターは、保護されていない 7z アーカイブを開きます。
C# で RAR ファイルを抽出する方法
- _RAR ファイル_を使用して RarArchive クラスのインスタンスを作成します。
- RarArchive.ExtractToDirectory メソッドを呼び出して RAR ファイルの内容を抽出します。
1using (var archive = new RarArchive("input_archive.rar"))
2{
3 archive.ExtractToDirectory("\\outputDirectory");
4}
上記のサンプルでは、RarArchive クラス コンストラクターは、保護されていない RAR アーカイブを開きます。
C# でファイルをパスワード付きで ZIP 圧縮する方法
- Archive クラスのインスタンスを作成します。
- ArchiveEntrySettings を渡し、password を持つ TraditionalEncryptionSettings のオブジェクトで encryptionSettings プロパティを設定します。
- Archive.CreateEntry メソッドを複数回呼び出して、必要な数のファイルを追加します。
- Archive.Save メソッドを使用して、_Zip ファイル_として保存します。
1using (var archive = new Archive(new ArchiveEntrySettings(encryptionSettings: new TraditionalEncryptionSettings("pass"))))
2{
3 archive.CreateEntry("entry_name1.dat", "input_file1.dat");
4 archive.CreateEntry("entry_name2.dat", "input_file2.dat");
5 archive.Save("result_archive.zip");
6}
encryptionSettings パラメーターは、パスワードで保護された ZIP アーカイブを作成するために使用されます。
C# でパスワードを使用してファイルを解凍する方法
手順: C# を使用してパスワードで保護された Zip ファイルを解凍します
- Archive クラスのインスタンスを作成します。
- ArchiveLoadOptions オブジェクトを渡し、 DecryptionPassword プロパティを zip ファイルの_password_で設定します。
- Archive.ExtractToDirectory メソッドを使用して、_zip ファイル_をフォルダーに解凍します。
1using (var archive = new Archive("input_archive.zip", new ArchiveLoadOptions{DecryptionPassword = "pass"}))
2{
3 archive.ExtractToDirectory("\\outputDirectory");
4}
ArchiveLoadOptions と DecryptionPassword プロパティ値は、パスワードで保護された ZIP アーカイブを開くために使用されます。
関連項目
この記事では、これらのトピックについても説明します。コードは上記と同じです。
- 圧縮
- C# ZIPファイル
- C# ZIPファイル
- C# ZIP アーカイブの作成
- C# 複数のファイルを圧縮
- C# ファイルを ZIP に追加
- C# ファイルを Zip に圧縮する
- C# ファイルを Zip にアーカイブ
- C# ファイルを圧縮する方法
- 抽出
- C# ファイルの解凍
- C# ファイルの解凍
- C# zip アーカイブを抽出
- C# ファイルを解凍する方法
- 圧縮パスワードで保護
- パスワード付きC# ZIPファイル
- パスワード付きC# ZIPファイル
- C# ファイルをパスワード保護された ZIP に圧縮する
- C# パスワード保護付きでファイルを ZIP にアーカイブ
- 抽出パスワードで保護されています
- C# パスワードで保護されたファイルを解凍する
- C# パスワードで保護されたファイルを解凍する
- C# パスワードで保護された ZIP アーカイブを抽出する
- C# パスワード保護を使用してファイルを解凍する方法
形式: ZIP
- 圧縮
- C# 7z ファイル
- C# 7z ファイル
- C# 7z アーカイブの作成
- C# 7z 複数のファイル
- C# 7zにファイルを追加
- C# ファイルを 7z に圧縮
- C# ファイルを 7z にアーカイブ
- C# ファイルを 7z する方法
- 抽出
- C# 7z ファイルを解凍
- C# 7z ファイルを解凍
- C# 7z ファイルを抽出
- C# 7z ファイルの抽出
- C# 7z アーカイブを抽出
- C# 7z ファイルを解凍する方法
形式: 7z