RAR è un formato di file di archivio comunemente usato che supporta la compressione dei dati senza perdita di dati. Spesso le persone preferiscono RAR su ZIP perché fornisce una migliore velocità di compressione e riduce le dimensioni dell’archivio. Tuttavia, in alcuni casi, potrebbe essere necessario convertire i file RAR in archivi ZIP. A tal fine, questo articolo illustra come convertire un file RAR in ZIP a livello di codice in C#.
API C# .NET per la conversione da RAR a ZIP
Aspose.ZIP for .NET è una potente API di archiviazione che supporta la creazione e la manipolazione dei formati di archivio più diffusi. Utilizzeremo questa API per convertire i file RAR in formato ZIP. Per utilizzare l’API, puoi installarla da NuGet o scaricare la sua DLL dalla sezione download.
PM> Install-Package Aspose.Zip
Converti un file RAR in ZIP in C#
I file RAR possono essere convertiti in formato ZIP in pochi passaggi utilizzando Aspose.ZIP per .NET. Di seguito sono riportati i passaggi per convertire un file RAR in un archivio ZIP in C#.
Crea un’istanza della classe Archive per l’archivio ZIP.
Carica l’archivio RAR usando la classe RarArchive.
Scorri le voci dell’archivio RAR utilizzando la raccolta RarArchive.Entries.
Per ogni voce in RAR, attenersi alla seguente procedura:
Estrarre la voce nell’oggetto MemoryStream utilizzando il metodo RarArchive.Entries[int].Extract(MemoryStream).
Aggiungi la voce a ZIP utilizzando il metodo Archive.CreateEntry(String, MemoryStream).
Infine, salva l’archivio ZIP risultante usando il metodo Archive.Save(String).
L’esempio di codice seguente mostra come convertire un file RAR in formato ZIP in C#.
// Crea un'istanza della classe Archive per l'archivio ZIP
using (Archive zip = new Archive())
{
// Carica l'archivio RAR
using (RarArchive rar = new RarArchive(@"D:\archvie.rar"))
{
// Passa in rassegna le voci del file RAR
for (int i = 0; i < rar.Entries.Count; i++)
{
// Copia ogni voce da RAR a ZIP
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);
}
}
// Salva l'archivio ZIP risultante
zip.Save("output.zip");
}
Ottieni una licenza API gratuita
Puoi ottenere una licenza temporanea gratuita per utilizzare Aspose.ZIP per .NET senza limitazioni di valutazione.
Conclusione
In questo articolo, hai imparato come convertire un archivio RAR in formato ZIP a livello di codice in C#. La guida dettagliata e l’esempio di codice hanno dimostrato la conversione di un file RAR in un archivio ZIP in pochi passaggi. Puoi leggere la documentazione di Aspose.ZIP per .NET per esplorare altre funzionalità. Inoltre, puoi condividere le tue domande con noi tramite il nostro forum.