Panoramica
Possiamo dividere gli strumenti di archiviazione e compressione in tre classi principali:- Archivi con più file solitamente con compressione – ZIP, 7Z, XAR;
- Archiviazione di più file senza compressione – TAR, CPIO;
- Compressione -solo formati senza voci – GZ, LZ, BZIP2, XZ, ZStandard, Z.
Gli archivi della seconda classe sono spesso combinati con formati di sola compressione. Sono popolari all’interno dei sistemi simili a Unix con le loro operazioni distinte: una per l’archiviazione, un’altra per la compressione. Di seguito sono riportate spiegazioni ed esempi per ogni tipo di archivio.
Archivi compressi che contengono più file
Usiamo il metodo CreateEntry per ogni file da comprimere. In questi esempi non forniamo le impostazioni di compressione, quindi sarebbero predefinite per il formato scelto.Come ZIP diversi file
L’impostazione predefinita è l’algoritmo 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");
}
Come creare archivi 7-ZIP di più file
L’impostazione predefinita per 7-zip è l’algoritmo 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");
}
Archivio XAR con diversi file
L’impostazione predefinita è l’algoritmo 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");
}
Memorizzazione di più file senza compressione
L’approccio per i formati TAR e CPIO è simile e si basa sul metodo già noto CreateEntry .Archivio TAR senza compressione
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");
}
Archivio CPIO senza compressione
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");
}
Formati di sola compressione senza voci
Tali archivi come GZIP, LZ, BZIP2, XZ, Z non supportano le voci e possono comprimere solo una singola fonte. Guarda i campioni con tale compressione.Archivio GZ Formati di sola compressione senza voci
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");
}
}
Archivio LZ Formati di sola compressione senza voci
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 consente di combinare formati di solo archivio e di sola compressione con un unico metodo. Ecco un esempio di questa funzionalità con la combinazione TAR.GZ. Per raggiungere questo obiettivo, utilizziamo il metodo SaveGzipped.
Combinazione TAR.GZ
Esistono metodi simili per i formati di compressione 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
Tuttavia dobbiamo utilizzare un altro approccio per il formato 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");
}
}
Altre funzionalità API Aspose.ZIP per .NET supportate
Utilizza la libreria Aspose.ZIP C# per convertire, unire, modificare documenti in file zip, estrarre dati dagli archivi e altro ancora!
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