SevenZipLoadOptions

Inheritance: java.lang.Object

public class SevenZipLoadOptions

Options with which SevenZipArchive is loaded from a compressed file.

Constructors

ConstructorDescription
SevenZipLoadOptions()

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.

SevenZipLoadOptions()

public SevenZipLoadOptions()

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.7z");
          FileOutputStream extracted = new FileOutputStream("extracted.bin")) {
         SevenZipLoadOptions options = new SevenZipLoadOptions();
         options.setDecryptionPassword("p@s$");
         try (SevenZipArchive archive = new SevenZipArchive(fs, options);
              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 7Z archive extraction after a certain time.


     try (CancellationFlag cf = new CancellationFlag()) {
         cf.cancelAfter(TimeUnit.SECONDS.toMillis(60));
         SevenZipLoadOptions options = new SevenZipLoadOptions();
         options.setCancellationFlag(cf);
         try (SevenZipArchive a = new SevenZipArchive("big.7z", 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.7z");
          FileOutputStream extracted = new FileOutputStream("extracted.bin")) {
         SevenZipLoadOptions options = new SevenZipLoadOptions();
         options.setDecryptionPassword("p@s$");
         try (SevenZipArchive archive = new SevenZipArchive(fs, options);
              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.