Da RAR a ZIP C#

Convertire i file RAR in formato ZIP è un requisito comune quando si ha a che fare con archivi compressi. ZIP è ampiamente supportato su diverse piattaforme, il che lo rende una scelta più versatile per la condivisione e l’archiviazione. In questo post del blog, esamineremo una soluzione che utilizza C# per convertire gli archivi RAR in formato ZIP.

Perché convertire RAR in ZIP?

Esistono diversi motivi per convertire i file RAR in ZIP:

  • Compatibilità multipiattaforma: ZIP è supportato su più sistemi e piattaforme rispetto a RAR.

  • Supporto nativo: molti sistemi operativi, come Windows e macOS, possono estrarre in modo nativo i file ZIP senza bisogno di software di terze parti.

  • Efficienza di compressione: la compressione ZIP è efficiente e offre un equilibrio tra dimensione del file e velocità.

Passiamo ora all’installazione, alla guida passo passo e all’esempio di codice.

Convertitore di archivi RAR in ZIP - Configurazione API C#

È possibile convertire i formati di archivio compressi installando Conholdate.Total per .NET con il seguente comando di installazione nella console di NuGet Package Manager:

PM> NuGet\Install-Package Conholdate.Total

Convertire RAR in ZIP in C#

Per raggiungere questo obiettivo, utilizzeremo la libreria Aspose.Zip, che fa parte della suite Conholdate.Total per .NET. Di seguito è riportata una suddivisione passo dopo passo di come convertire un file RAR in un file ZIP:

  • Inizializzazione di un archivio ZIP: iniziamo creando un nuovo oggetto Aspose.Zip.Archive che rappresenterà il file ZIP.
  • Apri ed estrai il file RAR: carica il file RAR usando Aspose.Zip.Rar.RarArchive ed estrai ogni voce. I file e le directory all’interno dell’archivio RAR vengono gestiti separatamente.
  • Aggiungi voci all’archivio ZIP: per ogni voce (file o directory) nel file RAR, la aggiungiamo all’archivio ZIP. I file sono scritti come voci ZIP, mentre le directory sono create come voci vuote.
  • Salvataggio del file ZIP: dopo aver aggiunto tutte le voci, salvare l’archivio ZIP nel percorso di output desiderato.

Il seguente frammento di codice mostra come convertire RAR in ZIP in C#:

using (Aspose.Zip.Archive zip = new Aspose.Zip.Archive())
{
    using (Aspose.Zip.Rar.RarArchive rar = new Aspose.Zip.Rar.RarArchive("archvie.rar"))
    {
       for (int i = 0; i < rar.Entries.Count; i++)
        {
            if (!rar.Entries[i].IsDirectory)
            {
                var ms = new MemoryStream();
                rar.Entries[i].Extract(ms);
                ms.Seek(0, SeekOrigin.Begin);
                zip.CreateEntry(rar.Entries[i].Name, ms);
            }
            else
                zip.CreateEntry(rar.Entries[i].Name + "/", Stream.Null);
        }
    }

    zip.Save("output.zip");
}

Licenza di valutazione gratuita

Puoi ottenere una licenza temporanea gratuita per provare questa e molte altre funzionalità per manipolare o convertire i file di archivio compressi nel tuo ambiente.

Conclusione

La conversione di un file RAR in un file ZIP in C# richiede solo poche chiamate di metodo senza preoccuparsi di dettagli minori o della struttura dei formati di file compressi. Seguendo questo approccio, puoi facilmente estrarre i file da un archivio RAR e comprimerli in un formato ZIP. Ciò garantisce che i tuoi file siano più compatibili e accessibili su diverse piattaforme. Mentre, se vuoi discutere di una qualsiasi delle tue domande, scrivici a forum.

Domande frequenti

La struttura delle directory viene mantenuta durante la conversione?

Sì, il codice conserva la struttura delle directory del file RAR quando si aggiungono voci all’archivio ZIP.

Ho bisogno di software di terze parti per estrarre i file ZIP?

No, i file ZIP possono essere estratti in modo nativo sulla maggior parte delle piattaforme, inclusi Windows e macOS.

Posso proteggere il file ZIP con una password?

Sì, Aspose.ZIP consente la crittografia e la protezione tramite password durante la creazione di archivi ZIP.

Vedi anche