ZIPは、ファイルやフォルダーの圧縮に使用される一般的なアーカイブ形式です。 ZIPを使用すると、サイズを小さくして1つのファイルにまとめることで、複数のファイルを簡単に共有できます。一方、TARは、共有する前にファイルをパッケージ化するために使用される有名なUnixベースのアーカイブ形式です。さまざまな場合に、ZIPアーカイブをTAR形式に変換する必要があります。これをプログラムで実現するために、この記事では、C#でZIPアーカイブをTARに変換する方法を示します。
ZIPをTARに変換するC#.NET API
ZIPアーカイブをTAR形式に変換するには、Aspose.ZIP for.NETを使用します。 APIは、ZIP、TAR、およびその他の一般的なアーカイブ形式を作成および操作するための幅広い機能を提供します。 APIのDLLをダウンロードするか、NuGetからインストールできます。
PM> Install-Package Aspose.Zip
ZIPアーカイブをC#でTARに変換する
Aspose.ZIP for .NETを使用すると、ZIPからTARへの変換は非常に簡単です。単純に、ZIPファイルをロードし、そのエントリをTARアーカイブに転送して、TARアーカイブを目的の場所に保存します。以下は、C#でZIPアーカイブをTARに変換する手順です。
- Archiveクラスを使用してZIPファイルをロードします。
- TARアーカイブ用のTarArchiveクラスのオブジェクトを作成します。
- Archive.Entriesコレクションを使用して、ZIP内の各ArchiveEntryにアクセスします。
- ZIPアーカイブのエントリごとに、次の手順を実行します。
- ArchiveEntry.Open().CopyTo(MemoryStream)メソッドを使用して、エントリをMemoryStreamオブジェクトにコピーします。
- TarArchive.CreateEntry(String, MemoryStream)メソッドを使用して、エントリをTARアーカイブに転送します。
- 最後に、TarArchive.Save(String)メソッドを使用して、TARアーカイブを目的の場所に保存します。
次のコードサンプルは、.NETアプリケーションでZIPアーカイブをTAR形式に変換する方法を示しています。
// ZIPファイルをロードする
using (Archive source = new Archive("source.zip"))
{
// TARアーカイブ用のTarArchiveオブジェクトを作成します
using (TarArchive tar = new TarArchive())
{
// エントリをループする
foreach (ArchiveEntry entry in source.Entries)
{
if (!entry.IsDirectory)
{
// エントリをTARにコピーします
MemoryStream mem = new MemoryStream();
entry.Open().CopyTo(mem);
tar.CreateEntry(entry.Name, mem);
}
}
// TARアーカイブを保存
tar.Save("result.tar");
}
}
無料のAPIライセンスを取得する
無料の一時ライセンスを取得して、評価の制限なしにAspose.ZIPfor.NETを使用できます。
結論
インターネット上でファイルを共有する前に、ZIPアーカイブをTAR形式に変換する必要があることがよくあります。したがって、この記事では、C#でプログラムによってZIPアーカイブをTARに変換する方法を学習しました。 Aspose.ZIP for .NETをインストールし、提供されたコードを埋め込むだけで、.NETアプリケーション内からZIPからTARへの変換を実行できます。さらに、ドキュメントにアクセスして、Aspose.ZIPfor.NETの詳細を確認できます。さらに、あなたは私たちのフォーラムを通してあなたの質問を私たちと共有することができます。