
RAR-bestanden worden vaak gebruikt om grote hoeveelheden data te comprimeren tot één kleiner bestand. Het programmatisch extraheren van deze bestanden in Java kan echter een uitdaging zijn zonder de juiste tools. In deze handleiding doorlopen we twee methoden voor het extraheren van RAR-bestanden met behulp van Java: één voor gewone RAR-bestanden en een andere voor gecodeerde RAR-bestanden.
RAR-bestanden extraheren - Java API-configuratie
Om bestanden in Java uit te pakken, moet u Conholdate.Total voor Java installeren tijdens het downloaden van het JAR-bestand of de volgende Maven-opdracht uitvoeren in het pom.xml-bestand van uw project:
<dependency>
<groupId>com.conholdate</groupId>
<artifactId>conholdate-total</artifactId>
<version>24.8</version>
<type>pom</type>
</dependency>
RAR-bestanden uitpakken in Java
Bij het extraheren van een normaal RAR-bestand omvat het proces het openen van het archief, het benaderen van de afzonderlijke vermeldingen en het opslaan van de geëxtraheerde gegevens op de gewenste locatie. De stapsgewijze uitsplitsing hieronder laat zien hoe u de eerste bestandsvermelding uit een RAR-archief extraheert en opslaat in een bestand. Deze methode is handig voor het verwerken van standaard RAR-archieven.
Laad het RAR-bronarchief met behulp van de klasse RarArchive.
Pak een archief uit het bronbestand.
Exporteer het uitgepakte archief naar de schijf.
Het volgende codefragment laat zien hoe u het lezen en schrijven van bestanden kunt verwerken met behulp van streams. Zo zorgt u ervoor dat elke vermelding op de juiste manier in kleine stukjes wordt geëxtraheerd om geheugenoverbelasting te voorkomen, vooral bij het werken met grote bestanden.
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);
}
Bovendien kunt u dit codefragment verder uitbreiden door door elk item te itereren en het één voor één naar het betreffende bestand te exporteren, afhankelijk van uw vereisten.
Gecodeerde RAR-bestanden extraheren in Java
Bij het werken met wachtwoordbeveiligde of gecodeerde RAR-bestanden is het extractieproces iets anders. U moet het juiste wachtwoord opgeven om de bestanden succesvol te extraheren. De volgende stappen vatten het proces samen om gecodeerde en wachtwoordbeveiligde RAR-bestanden in Java te extraheren:
Het gecodeerde RAR-invoerbestand wordt geladen met de klasse RarArchive.
Het juiste wachtwoord wordt verstrekt om het eerste bestandsitem te extraheren.
De geëxtraheerde gegevens worden opgeslagen met de opgegeven bestandsnaam.
Het volgende codevoorbeeld laat zien hoe u gecodeerde en met een wachtwoord beveiligde RAR-bestanden kunt extraheren met behulp van 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);
}
Gratis evaluatielicentie
U kunt een gratis tijdelijke licentie aanvragen om deze en andere functies voor gegevenscompressie en handmatige manipulatie te evalueren zonder enige evaluatiebeperkingen.
Samenvattend
RAR-bestanden extraheren in Java, of ze nu standaard of gecodeerd zijn, is een eenvoudige taak met deze aanpak. Het biedt efficiënte en flexibele manieren om verschillende RAR-archieven te verwerken, inclusief wachtwoordbeveiligde archieven. U kunt RAR-extractiefunctionaliteit eenvoudig integreren in uw Java-applicaties, zodat u gecomprimeerde gegevens naadloos kunt beheren. Als u vragen hebt, schrijf ons dan op forum.