概述
我們可以將歸檔和壓縮工具分為三個主要類別:- 通常壓縮多個檔案的歸檔- ZIP、7Z、XAR;
- 不壓縮儲存多個檔案- TAR、CPIO;
- 壓縮- 僅無條目的格式 – GZ、LZ、BZIP2、XZ、ZStandard、Z。它們以其獨特的操作在類 Unix 系統中很受歡迎——一個用於歸檔,另一個用於壓縮。以下是每種存檔類型的說明和範例。
包含多個檔案的壓縮檔案
我們對每個要壓縮的檔案使用 CreateEntry 方法。在這些範例中,我們不提供壓縮設置,因此它們將是所選格式的預設設定。如何壓縮多個文件
預設為 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 允許透過單一方法將僅存檔和僅壓縮格式結合。以下是此功能與 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");
}
焦油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