1. import net.lingala.zip4j.ZipFile;
  2. import net.lingala.zip4j.exception.ZipException;
  3. import net.lingala.zip4j.progress.ProgressMonitor;
  4. import net.lingala.zip4j.progress.ProgressMonitor.State;
  5. import net.lingala.zip4j.progress.ProgressMonitor.Result;
  6. import java.io.IOException;
  7. public class SampleClass{
  8. public static void main(String[] args)
  9. throws IOException,
  10. InterruptedException{
  11. ZipFile zip =
  12. new ZipFile("myzip.zip",
  13. "password".toCharArray());
  14. zip.setRunInThread(true);
  15. ProgressMonitor pm =
  16. zip.getProgressMonitor();
  17. zip.extractAll("extracted");
  18. while(!pm.getState().equals
  19. (ProgressMonitor.State.READY)){
  20. System.out.println("Percentage: " +
  21. pm.getPercentDone());
  22. System.out.println("File: " +
  23. pm.getFileName());
  24. System.out.println("Task: " +
  25. pm.getCurrentTask());
  26. Thread.sleep(50);
  27. }
  28. if(pm.getResult().
  29. equals(ProgressMonitor.Result.SUCCESS))
  30. System.out.println("Success!");
  31. else if(pm.getResult().
  32. equals(ProgressMonitor.Result.ERROR))
  33. System.err.println("Error: " +
  34. pm.getException().getMessage());
  35. else if(pm.getResult().
  36. equals(ProgressMonitor.Result.CANCELLED))
  37. System.out.println("Operation Cancelled!");
  38. }
  39. }