Da ZIP a TGZ C#

In questo post del blog, esploreremo come convertire i file ZIP in formato TGZ(tar.gz) utilizzando C#. La conversione da ZIP a TGZ è un’attività comune, specialmente quando si ha a che fare con file compressi per sistemi simili a Unix. Il seguente tutorial include una spiegazione passo dopo passo e il codice necessario per iniziare.

Perché convertire ZIP in TGZ?

Potrebbe essere necessario convertire il formato ZIP in TGZ per diversi motivi, ad esempio:

  • Compatibilità multipiattaforma: i file TGZ sono comunemente usati su sistemi basati su Unix (Linux, macOS), mentre i file ZIP sono popolari su Windows. La conversione da ZIP a TGZ semplifica la gestione dei file compressi in diversi ambienti.

  • Vantaggi della compressione: i file TGZ offrono generalmente rapporti di compressione migliori rispetto ai file ZIP, consentendo di risparmiare spazio di archiviazione e riducendo i tempi di trasferimento.

  • Automazione delle attività: in C#, l’automazione delle conversioni dei formati dei file può far risparmiare tempo e fatica, soprattutto nelle applicazioni che gestiscono grandi volumi di dati.

Convertitore da ZIP a TGZ - Configurazione API C#

È possibile convertire ZIP in TGZ installando Conholdate.Total per .NET eseguendo il seguente comando NuGet nell’IDE di Visual Studio:

PM> NuGet\Install-Package Conholdate.Total

Convertire ZIP in TGZ in C#

I seguenti passaggi mostrano come convertire ZIP in TGZ in C#:

  • Caricamento del file ZIP: la classe Archive carica il file ZIP di origine contenente le voci che si desidera convertire nel formato TGZ.

  • Creazione di un TarArchive: creiamo un oggetto TarArchive per iniziare a preparare il contenuto per il file TGZ.

  • Elaborazione delle voci: ogni voce nel file ZIP viene iterata. Se non è una directory, estraiamo i suoi dati in un MemoryStream.

  • Aggiunta di voci a TarArchive: per ogni voce valida, viene utilizzato il metodo CreateEntry per aggiungere il file al tarball, insieme ai dati memorizzati nella memoria.

  • Salvataggio come TGZ: il metodo SaveGzipped viene richiamato per comprimere e salvare il tarball come file .tar.gz.

Il seguente frammento di codice illustra la conversione da ZIP a TGZ in C#:

using (Archive source = new Archive("source.zip"))
{
    using (Aspose.Zip.Tar.TarArchive tar = new Aspose.Zip.Tar.TarArchive())
    {
        foreach (ArchiveEntry entry in source.Entries)
        {
            if (!entry.IsDirectory)
            {
                MemoryStream mem = new MemoryStream();
                entry.Open().CopyTo(mem);
                tar.CreateEntry(entry.Name, mem);
            }
        }

        tar.SaveGzipped("result.tar.gz");
    }
}

Licenza di valutazione gratuita

È possibile richiedere una licenza temporanea gratuita per testare la conversione ZIP senza alcuna restrizione di valutazione nel proprio ambiente.

Conclusione

La conversione da ZIP a TGZ in C# è un processo semplice per l’elaborazione di archivi compressi. Che tu stia gestendo la condivisione di file multipiattaforma o l’ottimizzazione delle dimensioni dei file, questo processo di conversione è altamente vantaggioso. Seguendo l’esempio di codice fornito, puoi automatizzare la conversione da ZIP a TGZ nelle tue applicazioni .NET, assicurando compatibilità ed efficienza nella gestione dei file compressi. In caso di domande, scrivici a forum.

Domande frequenti

Il formato TGZ è supportato su Windows?

Sì, sebbene sia più comune sui sistemi basati su Unix, i file TGZ possono essere estratti e creati anche su Windows.

Posso includere directory nell’archivio TGZ?

Sì, il codice può essere modificato per includere le directory rimuovendo il controllo !entry.IsDirectory e gestendo le directory di conseguenza.

È possibile automatizzare la conversione da ZIP a TGZ?

Sì, il codice fornito può essere integrato in applicazioni C# più grandi, consentendo conversioni automatizzate in batch o attività pianificate.

Vedi anche