
In questo post del blog, ti guideremo attraverso il processo di conversione di un archivio ZIP in un formato 7z utilizzando C#. Il formato 7z è noto per il suo elevato rapporto di compressione ed è ampiamente utilizzato per ridurre le dimensioni dei file, rendendolo ideale per un’archiviazione e un trasferimento efficienti. Illustreremo come implementare la conversione utilizzando un approccio passo dopo passo.
Perché convertire ZIP in 7z?
Esistono diversi motivi per convertire i file ZIP in 7z:
Riduzione delle dimensioni dei file: il formato 7z offre una compressione superiore rispetto a ZIP.
Migliora le prestazioni: dimensioni di file più piccole consentono caricamenti, download e trasferimenti più rapidi.
Rapporto di compressione più elevato: il formato 7z comprime i file in modo più efficiente, riducendone le dimensioni per un’archiviazione ottimizzata.
Convertitore di archivi ZIP in 7z - Configurazione API C#
Per convertire gli archivi ZIP nel formato 7z, è necessario installare Conholdate.Total per .NET utilizzando il seguente comando di installazione NuGet in Microsoft Visual Studio IDE:
PM> NuGet\Install-Package Conholdate.Total
Convertire ZIP in 7z in C#
Per convertire ZIP in 7z in C#, puoi seguire i passaggi sottostanti:
Repository: rappresenta il file ZIP che vuoi convertire. La classe Archivio è usata per aprire e leggere il file ZIP.
SevenZipArchive: questa classe viene utilizzata per creare e salvare un archivio 7z.
SevenZipEntrySettings: specifica le impostazioni di compressione per il formato 7z. In questo caso, stiamo utilizzando l’algoritmo di compressione LZMA2 per la massima efficienza di compressione.
MemoryStream: i dati del file vengono copiati nella memoria tramite un flusso e ogni voce del file ZIP viene aggiunta al nuovo archivio 7z.
Il codice di esempio seguente mostra come convertire ZIP in 7z in C#:
using (Archive source = new Archive("source.zip"))
{
using (var archive = new Aspose.Zip.SevenZip.SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings())))
{
foreach (ArchiveEntry entry in source.Entries)
{
if (!entry.IsDirectory)
{
MemoryStream mem = new MemoryStream();
entry.Open().CopyTo(mem);
mem.Seek(0, SeekOrigin.Begin);
archive.CreateEntry(entry.Name, mem);
}
}
archive.Save("result.7z");
}
}
Licenza di valutazione gratuita
Potresti ottenere una licenza temporanea gratuita per valutare diverse conversioni o manipolazioni di archivi da parte tua.
Conclusione
Seguendo i passaggi descritti sopra, puoi convertire facilmente un file ZIP in formato 7z in C#. La maggiore efficienza di compressione del formato 7z lo rende un’eccellente scelta per ridurre le dimensioni dei file, il che aiuta a migliorare le prestazioni quando si gestiscono archivi di grandi dimensioni. Nel caso in cui tu abbia bisogno di discutere di eventuali ambiguità, contattaci su forum.
Domande frequenti
Posso proteggere con password l’archivio 7z?
Sì, il formato 7z supporta la crittografia avanzata, consentendo di proteggere l’archivio con una password.
Posso convertire più file ZIP in 7z in un’unica operazione?
Sì, è possibile scorrere più file ZIP e applicare la stessa logica per la conversione.
Devo installare il software 7-Zip sul mio computer?
No, Conholdate.Total per .NET include tutti i componenti necessari per lavorare con 7z senza software aggiuntivo.