概要
アーカイブおよび圧縮ツールは、次の 3 つの主要なクラスに分類できます。- 通常圧縮を伴う複数のファイルを含むアーカイブ – ZIP、7Z、XAR;
- 圧縮なしで複数のファイルを保存 – TAR、CPIO;
- 圧縮-エントリのない形式のみ – GZ、LZ、BZIP2、XZ、ZStandard、Z。
2 番目のクラスのアーカイブは、多くの場合、圧縮のみの形式と組み合わされます。これらは、アーカイブ用と圧縮用という、独特の操作を備えた Unix 系システム内でよく使われています。以下は、アーカイブの種類ごとの説明とサンプルです。
複数のファイルを含む圧縮アーカイブ
圧縮するすべてのファイルに対して CreateEntry メソッドを使用します。これらのサンプルでは圧縮設定を提供していないため、選択した形式のデフォルトになります。複数のファイルを ZIP 圧縮する方法
デフォルトは Deflate アルゴリズムです
Zip compression with Deflate algoritm
using (Archive archive = new Archive())
{
archive.CreateEntry("first.bin", "data1.bin");
archive.CreateEntry("second.bin", "data2.bin");
// Add as many entries as you need
archive.Save("archive.zip");
}
複数のファイルの 7-ZIP アーカイブを作成する方法
7-zip のデフォルトは LZMA アルゴリズムです
7-Zip with LZMA algorithm
using (SevenZipArchive archive = new SevenZipArchive())
{
archive.CreateEntry("first.bin", "data1.bin");
archive.CreateEntry("second.bin", "data2.bin");
// Add as many entries as you need
archive.Save("archive.7z");
}
複数のファイルを含む XAR アーカイブ
デフォルトは ZLib アルゴリズムです
XAR with ZLib algorithm
using (XarArchive archive = new XarArchive())
{
archive.CreateEntry("first.bin", "data1.bin");
archive.CreateEntry("second.bin", "data2.bin");
// Add as many entries as you need
archive.Save("archive.xar");
}
複数のファイルを圧縮せずに保存する
TAR および CPIO フォーマットのアプローチは似ており、既知の CreateEntry メソッドにあります。圧縮なしの TAR アーカイブ
TAR storing files without compression
using (TarArchive archive = new TarArchive())
{
archive.CreateEntry("first.bin", "data1.bin");
archive.CreateEntry("second.bin", "data2.bin");
// Add as many entries as you need
archive.Save("archive.tar");
}
圧縮なしの CPIO アーカイブ
CPIO storing files without compression
using (TarArchive archive = new TarArchive())
{
archive.CreateEntry("first.bin", "data1.bin");
archive.CreateEntry("second.bin", "data2.bin");
// Add as many entries as you need
archive.Save("archive.cpio");
}
エントリのない圧縮のみの形式
GZIP、LZ、BZIP2、XZ、Z などのアーカイブはエントリをサポートしておらず、単一のソースのみを圧縮できます。このような圧縮を使用したサンプルを参照してください。GZ アーカイブ エントリのない圧縮のみの形式
GZIP with compress only single source
using (FileStream source = File.Open("alice29.txt", FileMode.Open, FileAccess.Read))
{
using (GzipArchive archive = new GzipArchive())
{
archive.SetSource(source);
archive.Save("archive.gz");
}
}
LZ アーカイブ エントリのない圧縮専用フォーマット
LZIP with compress only single source
using (FileStream source = File.Open("alice29.txt", FileMode.Open, FileAccess.Read))
{
using (GzipArchive archive = new GzipArchive())
{
archive.SetSource(source);
archive.Save("archive.gz");
}
}
Aspose.ZIP を使用すると、アーカイブ専用形式と圧縮専用形式を 1 つの方法で組み合わせることができます。 TAR.GZ を組み合わせたこの機能の例を次に示します。これを実現するには、SaveGzipped メソッドを使用します。
TAR.GZの組み合わせ
LZIP、XZ、ZStandard、Z 圧縮形式にも同様の方法があります。
TAR.GZ with SaveGzipped method
using (TarArchive archive = new TarArchive())
{
archive.CreateEntry("first.bin", "data1.bin");
archive.CreateEntry("second.bin", "data2.bin");
archive.SaveGzipped("archive.tar.gz");
}
TAR.BZ2
ただし、BZIP2 形式には別のアプローチを使用する必要があります。
BZIP2 with SaveGzipped method
using (TarArchive tar = new TarArchive())
{
tar.CreateEntry("first.bin", "data1.bin");
tar.CreateEntry("second.bin", "data2.bin");
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource(tar);
archive.Save("archive.tar.bz2");
}
}
サポートされているその他の Aspose.ZIP for .NET API 機能
Aspose.ZIP C# ライブラリを使用して、zip ファイル ドキュメントの変換、結合、編集、アーカイブからのデータの抽出などを行います。
Support and Learning Resources
- Learning Resources
- Documentation
- Source Code
- API References
- Tutorial Videos
- Product Support
- Free Support
- Paid Support
- Blog
- Release Notes
- Why Aspose.ZIP for .NET?
- Customers List
- Success Stories