代碼如下:依賴jar包自行下載
/**
* 刪除指定文件名稱的文件
*
* @param file
* 源文件路徑
* @param removeDir
* 需要刪除的文件名稱
* @throws Exception
* 異常信息
*/
public
static
void
removeDirFromZipArchive(File file, String removeDir)
throws
Exception {
ZipFile zipFile =
new
ZipFile(file);
// 遍歷壓縮文件中所有的FileHeader, 將指定刪除目錄下的子文件名保存起來
@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);
}
}
|