Conversion de RAR en ZIP
Si vous souhaitez convertir une archive RAR en ZIP, lisez cet article.
Conversion
L’API Aspose.ZIP fournit la classe RarArchive pour extraire les archives RAR. Il est possible d’extraire une entrée dans la mémoire sans l’enregistrer dans un stockage intermédiaire et de la transférer immédiatement dans une archive ZIP.
Assurez-vous que vous disposez 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 des entrées d’une archive RAR et les placer immédiatement dans une archive ZIP. Les entrées qui sont des répertoires sont ajoutées avec une barre oblique pour spécifier leur type.
1try (Archive zip = new Archive()) {
2 try (RarArchive rar = new RarArchive("D:\archvie.rar")) {
3 for (int i = 0 ; i < rar.getEntries().size() ; i++) {
4 RarArchiveEntry entry = rar.getEntries().get(i) ;
5 if (!entry.isDirectory())) {
6 try (ByteArrayOutputStream out = new ByteArrayOutputStream()) {
7 entry.extract(out) ;
8 try (ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray())) {
9 zip.createEntry(entry.getName(), in) ;
10 }
11 }
12 } else {
13 zip.createEntry(entry.getName() + "/", new ByteArrayInputStream(new byte[0])) ;
14 }
15 }
16 }
17 zip.save("output.zip") ;
18} catch (IOException ex) {
19 System.out.println(ex) ;
20}