
I file RAR sono comunemente usati per comprimere grandi quantità di dati in un singolo file più piccolo. Tuttavia, estrarre questi file a livello di programmazione in Java può essere una sfida senza gli strumenti giusti. In questa guida, esamineremo due metodi per estrarre file RAR usando Java: uno per i file RAR normali e un altro per i file RAR crittografati.
Estrarre file RAR - Configurazione API Java
Per decomprimere i file rar in Java, è necessario installare Conholdate.Total per Java durante il download del file JAR o eseguire il seguente comando Maven nel file pom.xml del progetto:
<dependency>
<groupId>com.conholdate</groupId>
<artifactId>conholdate-total</artifactId>
<version>24.8</version>
<type>pom</type>
</dependency>
Estrarre file RAR in Java
Quando si estrae un file RAR normale, il processo prevede l’apertura dell’archivio, l’accesso alle sue singole voci e il salvataggio dei dati estratti nella posizione desiderata. La seguente suddivisione passo dopo passo illustra come estrarre la prima voce del file da un archivio RAR e salvarla in un file. Questo metodo è utile per gestire archivi RAR standard.
Caricare l’archivio RAR di origine utilizzando la classe RarArchive.
Estrarre un archivio dal file sorgente.
Esportare l’archivio estratto sul disco.
Il seguente frammento di codice mostra come gestire la lettura e la scrittura dei file utilizzando flussi, assicurando che ogni voce venga estratta correttamente in piccoli blocchi per evitare sovraccarichi di memoria, soprattutto quando si lavora con file di grandi dimensioni.
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);
}
Inoltre, puoi migliorare ulteriormente questo frammento di codice per scorrere ogni voce ed esportarla una alla volta nel rispettivo file, in base alle tue esigenze.
Estrarre file RAR crittografati in Java
Quando si ha a che fare con file RAR protetti da password o crittografati, il processo di estrazione è leggermente diverso. È necessario fornire la password corretta per estrarre correttamente i file. I seguenti passaggi riassumono il processo per estrarre file RAR crittografati e protetti da password in Java:
Il file RAR crittografato di input viene caricato con la classe RarArchive.
Viene fornita la password corretta per estrarre la prima voce del file.
I dati estratti vengono salvati con il nome file specificato.
Il seguente esempio di codice dimostra come estrarre file RAR crittografati e protetti da password utilizzando 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);
}
Licenza di valutazione gratuita
È possibile richiedere una licenza temporanea gratuita per valutare questa e altre funzionalità di compressione dei dati e di manipolazione dei marchi senza alcuna limitazione di valutazione.
Riassumendo
Estrarre file RAR in Java, sia standard che crittografati, è un compito semplice con questo approccio. Offre modi efficienti e flessibili per gestire vari archivi RAR, inclusi quelli protetti da password. Puoi facilmente integrare la funzionalità di estrazione RAR nelle tue applicazioni Java, consentendoti di gestire i dati compressi senza problemi. Se hai domande, scrivici a forum.