/**
* 删除指定文件名称的文件
*
* @param file
* 源文件路径
* @param removeDir
* 需要删除的文件名称
* @throws Exception
* 异常信息
*/
public static void removeDirFromZipArchive(File file, String removeDir) throws Exception {
ZipFile zipFile = new ZipFile(file);
@SuppressWarnings("unchecked")
List<FileHeader> headersList = zipFile.getFileHeaders();
ArrayList<String> removeHeaderNames = new ArrayList<String>();
for (FileHeader subHeader : headersList) {
String subHeaderName = subHeader.getFileName();
if (subHeaderName.indexOf(removeDir) != -1) {
LOG.info("需要删除的文件名称为:" + subHeaderName);
removeHeaderNames.add(subHeaderName);
}
}
for (String headerNameString : removeHeaderNames) {
zipFile.removeFile(headerNameString);
}
}