Extraire RAR en Java

Les fichiers RAR sont couramment utilisés pour compresser de grandes quantités de données dans un seul fichier plus petit. Cependant, l’extraction de ces fichiers par programmation en Java peut s’avérer difficile sans les bons outils. Dans ce guide, nous allons passer en revue deux méthodes d’extraction de fichiers RAR à l’aide de Java : une pour les fichiers RAR classiques et une autre pour les fichiers RAR chiffrés.

Extraire les fichiers RAR - Configuration de l’API Java

Pour extraire des fichiers rar en Java, vous devez installer Conholdate.Total pour Java lors du téléchargement du fichier JAR ou exécuter la commande Maven suivante dans le fichier pom.xml de votre projet :

<dependency>
<groupId>com.conholdate</groupId>
<artifactId>conholdate-total</artifactId>
<version>24.8</version>
<type>pom</type>
</dependency>

Extraire les fichiers RAR en Java

Lors de l’extraction d’un fichier RAR standard, le processus consiste à ouvrir l’archive, à accéder à ses entrées individuelles et à enregistrer les données extraites à l’emplacement souhaité. La procédure étape par étape ci-dessous montre comment extraire la première entrée de fichier d’une archive RAR et l’enregistrer dans un fichier. Cette méthode est utile pour gérer les archives RAR standard.

  • Chargez l’archive RAR source à l’aide de la classe RarArchive.

  • Extraire une archive du fichier source.

  • Exporter l’archive extraite sur le disque.

L’extrait de code suivant montre comment gérer la lecture et l’écriture de fichiers à l’aide de flux, en garantissant que chaque entrée est correctement extraite en petits morceaux pour éviter les surcharges de mémoire, en particulier lorsque vous travaillez avec des fichiers volumineux.

try (com.aspose.zip.RarArchive archive = new com.aspose.zip.RarArchive("archive.rar")) {
    try (FileOutputStream destination = new FileOutputStream(dataDir + "firstEntry.txt")) {
        try (InputStream source = archive.getEntries().get(0).open()) {
            byte[] b = new byte[1024];
            int bytesRead;
            while (0 < (bytesRead = source.read(b, 0, b.length))) {
                destination.write(b, 0, bytesRead);
            }
        }
    }
} catch (IOException ex) {
    System.out.println(ex);
}

De plus, vous pouvez encore améliorer cet extrait de code pour parcourir chaque entrée et l’exporter vers le fichier correspondant, une par une, selon vos besoins.

Extraire les fichiers RAR cryptés en Java

Lorsque vous traitez des fichiers RAR protégés par mot de passe ou cryptés, le processus d’extraction est légèrement différent. Vous devez fournir le mot de passe correct pour extraire les fichiers avec succès. Les étapes suivantes résument le processus d’extraction de fichiers RAR cryptés et protégés par mot de passe en Java :

  • Le fichier RAR chiffré d’entrée est chargé avec la classe RarArchive.

  • Le mot de passe correct est fourni pour extraire la première entrée de fichier.

  • Les données extraites sont enregistrées avec le nom de fichier spécifié.

L’exemple de code suivant montre comment extraire un RAR chiffré et protégé par mot de passe à l’aide de Java :

File fi = new File("encrypted.rar");
try (com.aspose.zip.RarArchive archive = new com.aspose.zip.RarArchive(Files.newInputStream(fi.toPath()))) {
    try (FileOutputStream destination = new FileOutputStream(dataDir + "firstEntry.txt")) {
        archive.getEntries().get(0).extract(destination, "p@s$w0rd");
    }
} catch (IOException ex) {
    System.out.println(ex);
}

Licence d’évaluation gratuite

Vous pouvez demander une licence temporaire gratuite pour évaluer cette fonctionnalité et d’autres fonctionnalités de compression de données et de manipulation d’archive sans aucune limitation d’évaluation.

En résumé

L’extraction de fichiers RAR en Java, qu’ils soient standard ou cryptés, est une tâche simple avec cette approche. Elle offre des moyens efficaces et flexibles de gérer diverses archives RAR, y compris celles protégées par mot de passe. Vous pouvez facilement intégrer la fonctionnalité d’extraction RAR dans vos applications Java, ce qui vous permet de gérer les données compressées de manière transparente. Si vous avez des questions, écrivez-nous à forum.

Voir aussi