RarArchiveLoadOptions

Inheritance: java.lang.Object

public class RarArchiveLoadOptions

Options with which RarArchive is loaded from a compressed file.

Constructors

ConstructorDescription
RarArchiveLoadOptions()

Methods

MethodDescription
getDecryptionPassword()Gets the password to decrypt entries and entry names.
setCancellationFlag(CancellationFlag value)Sets a cancellation flag used to cancel the extraction operation.
setDecryptionPassword(String value)Sets the password to decrypt entries and entry names.

RarArchiveLoadOptions()

public RarArchiveLoadOptions()

getDecryptionPassword()

public final String getDecryptionPassword()

Gets the password to decrypt entries and entry names.

You can provide decryption password once on archive extraction.


    try (FileInputStream fs = new FileInputStream("encrypted_archive.rar")) {
        try (FileOutputStream extracted = new FileOutputStream("extracted.bin")) {
            RarArchiveLoadOptions options = new RarArchiveLoadOptions();
            options.setDecryptionPassword("p@s$");
            try (RarArchive archive = new RarArchive(fs, options)) {
                try (InputStream decompressed = archive.getEntries().get(0).open()) {
                    byte[] b = new byte[8192];
                    int bytesRead;
                    while (0 < (bytesRead = decompressed.read(b, 0, b.length)))
                        extracted.write(b, 0, bytesRead);
                }
            }
        }
    } catch (IOException ex) {
    }
 

Returns: java.lang.String - the password to decrypt entries and entry names.

setCancellationFlag(CancellationFlag value)

public void setCancellationFlag(CancellationFlag value)

Sets a cancellation flag used to cancel the extraction operation.

Cancel RAR archive extraction after a certain time.


     try (CancellationFlag cf = new CancellationFlag()) {
         cf.cancelAfter(TimeUnit.SECONDS.toMillis(60));
         RarArchiveLoadOptions options = new RarArchiveLoadOptions();
         options.setCancellationFlag(cf);
         try (RarArchive a = new RarArchive("big.rar", options)) {
             try {
                 a.getEntries().get(0).extract("data.bin");
             } catch (OperationCanceledException e) {
                 System.out.println("Extraction was cancelled after 60 seconds");
             }
         }
     }
 

Cancellation mostly results in some data not being extracted.

Parameters:

ParameterTypeDescription
valueCancellationFlaga cancellation flag used to cancel the extraction operation.

setDecryptionPassword(String value)

public final void setDecryptionPassword(String value)

Sets the password to decrypt entries and entry names.

You can provide decryption password once on archive extraction.


    try (FileInputStream fs = new FileInputStream("encrypted_archive.rar")) {
        try (FileOutputStream extracted = new FileOutputStream("extracted.bin")) {
            RarArchiveLoadOptions options = new RarArchiveLoadOptions();
            options.setDecryptionPassword("p@s$");
            try (RarArchive archive = new RarArchive(fs, options)) {
                try (InputStream decompressed = archive.getEntries().get(0).open()) {
                    byte[] b = new byte[8192];
                    int bytesRead;
                    while (0 < (bytesRead = decompressed.read(b, 0, b.length)))
                        extracted.write(b, 0, bytesRead);
                }
            }
        }
    } catch (IOException ex) {
    }
 

Parameters:

ParameterTypeDescription
valuejava.lang.Stringthe password to decrypt entries and entry names.