Class ZArchiveLoadOptions


  • public class ZArchiveLoadOptions
    extends Object

    Options with which ZArchive is loaded from a compressed file. Contains event raised on extraction.

    • Constructor Detail

      • ZArchiveLoadOptions

        public ZArchiveLoadOptions()
    • Method Detail

      • getExtractionProgressed

        public Event<ProgressEventArgs> getExtractionProgressed()

        Gets an event that is raised when some bytes have been extracted.

        
             long length = 10_000_000;
             ZArchiveLoadOptions loadOptions = new ZArchiveLoadOptions();
             loadOptions.setExtractionProgressed((sender, args) -> {
                 int percent = (int)((100 * args.getProceededBytes()) / length);
             });
             ZArchive archive = new ZArchive("archive.z", loadOptions);
         

        Event sender is the ZArchive instance which extraction is progressed.

        Returns:
        an event that is raised when some bytes have been extracted
      • setExtractionProgressed

        public void setExtractionProgressed​(Event<ProgressEventArgs> value)

        Sets an event that is raised when some bytes have been extracted.

        
             long length = 10_000_000;
             ZArchiveLoadOptions loadOptions = new ZArchiveLoadOptions();
             loadOptions.setExtractionProgressed((sender, args) -> {
                 int percent = (int)((100 * args.getProceededBytes()) / length);
             });
             ZArchive archive = new ZArchive("archive.z", loadOptions);
         

        Event sender is the ZArchive instance which extraction is progressed.

        Parameters:
        value - an event that is raised when some bytes have been extracted
      • setCancellationFlag

        public void setCancellationFlag​(CancellationFlag value)

        Sets a cancellation flag used to cancel the extraction operation.

        Cancel Z archive extraction after a certain time.

        
             try (CancellationFlag cf = new CancellationFlag()) {
                 cf.cancelAfter(TimeUnit.SECONDS.toMillis(60));
                 ZArchiveLoadOptions options = new ZArchiveLoadOptions();
                 options.setCancellationFlag(cf);
                 try (ZArchive a = new ZArchive("big.z", options)) {
                     try {
                         a.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:
        value - a cancellation flag used to cancel the extraction operation.