2021SC@SDUSC
(五)ZipReader类
String archiveSeparator = "/";
Map<String, FileNode> appender = Maps.newHashMap();
List<String> imgUrls = Lists.newArrayList();
String baseUrl = BaseUrlFilter.getBaseUrl();
String archiveFileName = fileUtils.getFileNameFromPath(filePath);
archiveSeparator为分割线,用来分割路径,表示层级。
appender的Map用来存放文件节点的Tree。
1、读取压缩文件节点,保存到appender
try {
ZipFile zipFile = new ZipFile(filePath, fileUtils.getFileEncodeUTFGBK(filePath));
Enumeration<ZipArchiveEntry> entries = zipFile.getEntries();
// 文件节点排序
entries = sortZipEntries(entries);
List<Map<String, ZipArchiveEntry>> entriesToBeExtracted = Lists.newArrayList(); // 需要解压的