笔者在公司项目中有一个需要解压10G的rar的压缩包的一个需求,那么我们希望能够上报整个解压的进度。google/baidu上均没有找到合适的办法。后来看了下junrar的源码,发现实现UnrarCallback接口后,可以完成进度的上报监测。
经验之谈就是,读源码才是王道。
具体代码可点击Github地址
监控类具体代码如下。
package com.zju.javastudy.unrar;
import com.github.junrar.UnrarCallback;
import com.github.junrar.Volume;
import com.github.junrar.impl.FileVolume;
import java.io.IOException;
/**
* @author Arthur
* @Date 11/04/2018
* @Decription:
*/
public class UnrarProcessMonitor implements UnrarCallback{
private String fileName;
public UnrarProcessMonitor(String fileName) {
this.fileName = fileName;
}
/**
* 返回false的话,对于某些分包的rar是没办法解压正确的
* */
@Override
public boolean