【发布时间】:2019-09-30 05:35:38
【问题描述】:
我正在使用 Zip4J 来提取 zip 文件,我能够做到。但是,我想使用 Zip4J 中提供的进度监视器,但无法成功使用它。 文档只说它应该在线程模式下运行。我做到了,我的控制台卡在命令行上。任何带有进度监视器的 extractAll() 工作示例。
public String unzipFile(String sourceFilePath, String extractionPath) {
String extractionDirectory = "";
FileHeader fileHeader = null;
if (FileUtility.isPathExist(sourceFilePath) && FileUtility.isPathExist(extractionPath)) {
try {
ZipFile zipFile = new ZipFile(sourceFilePath);
LOG.info("File Extraction started");
List<FileHeader> fileHeaderList = zipFile.getFileHeaders();
if (fileHeaderList.size() > 0)
fileHeader = (FileHeader) fileHeaderList.get(0);
if (fileHeader != null)
extractionDirectory = splitFileName(fileHeader.getFileName());
long totalPercentage = 235;
long startTime = System.currentTimeMillis();
zipFile.extractAll(extractionPath);
LOG.info("File Extraction completed.");
System.out.println();
} catch (ZipException e) {
LOG.error("Extraction Exception ->\n" + e.getMessage());
}
} else {
LOG.error("Either source path or extraction path is not exist.");
}
return extractionDirectory;
}
【问题讨论】:
标签: java progress-bar monitoring zip4j