根据转载的内容进一步优化,提示更加便捷,密码错误直接进度条不断刷新,终止无限循环的bug,maven 依赖
<!--解压zip-->
<dependency>
<groupId>net.lingala.zip4j</groupId>
<artifactId>zip4j</artifactId>
<version>1.3.2</version>
</dependency>
接口以及实现类:
package untar.service;
/**
* @Package_Name: untar
* @Author: Yang
* @Date: 2022/3/3
* @Time: 14:31
* @Description:TODO(进度接口)
**/
public interface ProgressListener {
void onStart(String fileName);
void onProgress(long progress,String fileName);
void onError(Exception e,String fileName);
void onCompleted(String fileName);
}
package untar.service.serviceimpl;
import untar.service.ProgressListener;
/**
* @Package_Name: untar
* @Author: YangLeiLei
* @Date: 2022/3/3
* @Time: 14:39
* @Description:TODO(进度的展示)
**/
public class ProgressListenerImpl implements ProgressListener {
@Override
public void onStart(String fileName) {
System.out.println("--开始解压缩 : --"+ fileName);
}
@Override
public void onProgress(long progress,String fileName) {
System.out.println("--"+fileName+"的解压缩的进度为:--" + progress + "%");
}
@Override
public void onError(Exception e,String fileName) {
System.out.println("--"+fileName+"出现错误问题是:--" + e.getMessage());
}
@Override
public void onCompleted(String fileName) {
System.out.println("--恭喜你,"+fileName+"解压完成!!--");
}
}