Descripción general

Podemos dividir las herramientas de archivado y compresión en tres clases principales:
- Archivos con varios archivos normalmente con compresión – ZIP, 7Z, XAR;
- Almacenamiento de varios archivos sin compresión – TAR, CPIO;
- Compresión -solo formatos sin entradas: GZ, LZ, BZIP2, XZ, ZStandard, Z.
Los archivos de la segunda clase a menudo se combinan con formatos solo de compresión. Son populares en sistemas tipo Unix con sus distintas operaciones: una para archivar y otra para comprimir. A continuación encontrará explicaciones y ejemplos para cada tipo de archivo.

Archivos comprimidos que contienen varios archivos

Usamos el método CreateEntry para cada archivo que se va a comprimir. En estos ejemplos no proporcionamos configuraciones de compresión, por lo que serán las predeterminadas para el formato elegido.

Cómo comprimir varios archivos

El valor predeterminado es el 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");	
    }

Cómo crear archivos 7-ZIP de varios archivos

El valor predeterminado para 7-zip es el 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");	
    }

Archivo XAR con varios archivos.

El valor predeterminado es el 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");	
    }

Almacenar varios archivos sin comprimir

El enfoque para los formatos TAR y CPIO es similar y se basa en el método ya conocido CreateEntry .

Archivo TAR sin compresión

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");
    }

Archivo CPIO sin compresión

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");
    }

Formatos de solo compresión sin entradas

Archivos como GZIP, LZ, BZIP2, XZ, Z no admiten entradas y solo pueden comprimir una única fuente. Vea muestras con tal compresión.

Archivo GZ Formatos de solo compresión sin entradas

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");
    }
}

Archivo LZ Formatos de solo compresión sin entradas

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 permite combinar formatos de solo archivo y de solo compresión con un solo método. A continuación se muestra un ejemplo de esta funcionalidad con la combinación TAR.GZ. Para lograr esto, utilizamos el método SaveGzipped.

combinación TAR.GZ

Existen métodos similares para los formatos de compresión 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

Sin embargo, necesitamos utilizar otro enfoque para el 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");
        } 
    }

Otras características compatibles de Aspose.ZIP para .NET API

Utilice la biblioteca Aspose.ZIP C# para convertir, fusionar, editar documentos de archivos zip, extraer datos de archivos y mucho más.

  

Support and Learning Resources

  
  

Aspose.Zip offers individual archive processing APIs for other popular development environments, listed below: