Convertir RAR en ZIP via C#
Contents
[
Hide
Show
]Si vous souhaitez convertir une archive RAR en ZIP, lisez cet article.
Conversion
API Aspose.ZIP fournit la classe RarArchive pour extraire les archives RAR. Nous pouvons extraire une entrée en mémoire sans la sauvegarder dans un stockage intermédiaire et la transmettre immédiatement dans l’archive ZIP.
Assurez-vous de disposer de suffisamment de mémoire virtuelle pour conserver le contenu de toutes les entrées.
Transférer une entrée
L’exemple de code suivant montre comment extraire les entrées de l’archive RAR et les placer immédiatement dans l’archive ZIP. Entrées qui sont des répertoires ajoutés avec une barre oblique pour spécifier leur type.
1 using (Archive zip = new Archive())
2 {
3 using (RarArchive rar = new RarArchive(@"D:\archvie.rar"))
4 {
5 for (int i = 0; i < rar.Entries.Count; i++)
6 {
7 if (!rar.Entries[i].IsDirectory)
8 {
9 var ms = new MemoryStream();
10 rar.Entries[i].Extract(ms);
11 ms.Seek(0, SeekOrigin.Begin);
12 zip.CreateEntry(rar.Entries[i].Name, ms);
13 }
14 else
15 zip.CreateEntry(rar.Entries[i].Name + "/", Stream.Null);
16 }
17 }
18
19 zip.Save("output.zip");
20 }