ControlC ControlC · Pastebin

java-zip4j-tut-progress-monitor-1

Pasted: Apr 22, 2024, 7:31:35 am · Views: 62
import net.lingala.zip4j.ZipFile;
import net.lingala.zip4j.exception.ZipException;
import net.lingala.zip4j.progress.ProgressMonitor;
import net.lingala.zip4j.progress.ProgressMonitor.State;
import net.lingala.zip4j.progress.ProgressMonitor.Result;

import java.io.IOException;

public class SampleClass{

public static void main(String[] args)
throws IOException,
InterruptedException{
ZipFile zip =
new ZipFile("myzip.zip",
"password".toCharArray());
zip.setRunInThread(true);

ProgressMonitor pm =
zip.getProgressMonitor();
zip.extractAll("extracted");

while(!pm.getState().equals
(ProgressMonitor.State.READY)){
System.out.println("Percentage: " +
pm.getPercentDone());
System.out.println("File: " +
pm.getFileName());
System.out.println("Task: " +
pm.getCurrentTask());

Thread.sleep(50);
}

if(pm.getResult().
equals(ProgressMonitor.Result.SUCCESS))
System.out.println("Success!");

else if(pm.getResult().
equals(ProgressMonitor.Result.ERROR))
System.err.println("Error: " +
pm.getException().getMessage());

else if(pm.getResult().
equals(ProgressMonitor.Result.CANCELLED))
System.out.println("Operation Cancelled!");
}
}