このブログ記事では、C# を使用して ZIP アーカイブを 7z 形式に変換するプロセスについて説明します。7z 形式は圧縮率が高いことで知られており、ファイル サイズを縮小するために広く使用されているため、効率的な保存と転送に最適です。ステップ バイ ステップのアプローチを使用して変換を実装する方法を説明します。
ZIP を 7z に変換する理由
ZIP ファイルを 7z に変換する理由はいくつかあります。
ファイル サイズの縮小: 7z 形式は ZIP に比べて優れた圧縮率を実現します。
パフォーマンスの向上: ファイル サイズが小さくなると、アップロード、ダウンロード、転送が高速化されます。
より高い圧縮率: 7z 形式はファイルをより効率的に圧縮し、ファイル サイズを縮小してストレージを最適化します。
ZIP から 7z アーカイブへのコンバーター - C# API 構成
ZIP アーカイブを 7z 形式に変換するには、Microsoft Visual Studio IDE で次の NuGet インストール コマンドを使用して Conholdate.Total for .NET をインストールする必要があります。
PM> NuGet\Install-Package Conholdate.Total
C# で ZIP を 7z に変換する
C# で ZIP を 7z に変換するには、以下の手順に従います。
Archive: 変換する ZIP ファイルを表します。Archive クラスは、ZIP ファイルを開いて読み取るために使用されます。
SevenZipArchive: このクラスは、7z アーカイブを作成して保存するために使用されます。
SevenZipEntrySettings: 7z 形式の圧縮設定を指定します。この場合、圧縮効率を最大化するために LZMA2 圧縮アルゴリズムを使用しています。
MemoryStream: ファイル データはストリームを使用してメモリにコピーされ、ZIP ファイルの各エントリが新しい 7z アーカイブに追加されます。
以下のサンプル コードは、C# で ZIP を 7z に変換する方法を示しています。
using (Archive source = new Archive("source.zip"))
{
using (var archive = new Aspose.Zip.SevenZip.SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings())))
{
foreach (ArchiveEntry entry in source.Entries)
{
if (!entry.IsDirectory)
{
MemoryStream mem = new MemoryStream();
entry.Open().CopyTo(mem);
mem.Seek(0, SeekOrigin.Begin);
archive.CreateEntry(entry.Name, mem);
}
}
archive.Save("result.7z");
}
}
無料評価ライセンス
無料の一時ライセンスを取得して、さまざまなアーカイブ変換や操作を自分の側で評価することができます。
結論
上記の手順に従うと、C# で ZIP ファイルを 7z 形式に簡単に変換できます。7z 形式は圧縮効率が高いため、ファイル サイズを縮小するのに最適で、大きなアーカイブを処理する際のパフォーマンスが向上します。不明な点がある場合は、フォーラム でお問い合わせください。
よくある質問
7z アーカイブをパスワードで保護できますか?
はい、7z 形式は高度な暗号化をサポートしており、パスワードを使用してアーカイブを保護できます。
1 回の操作で複数の ZIP ファイルを 7z に変換できますか?
はい、複数の ZIP ファイルをループして、同じロジックを適用して変換することができます。
マシンに 7-Zip ソフトウェアをインストールする必要がありますか?
いいえ、Conholdate.Total for .NET には、追加のソフトウェアなしで 7z を操作するために必要なすべてのコンポーネントが含まれています。