在对在对Zip文件解压时,判断该Zip文件是否是Zip炸弹,如果是Zip炸弹那么抛出异常

修改描述
[新特性] 新增限制zip文件解压后大小
This commit is contained in:
zhouxm
2022-07-24 03:41:17 +08:00
parent a9310c2d30
commit 160fec0f69
2 changed files with 49 additions and 0 deletions

View File

@@ -16,6 +16,9 @@ import java.io.OutputStream;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;
import java.util.zip.ZipFile;
import static cn.hutool.core.util.ZipUtil.unzip;
/**
* {@link ZipUtil}单元测试
@@ -195,4 +198,18 @@ public class ZipUtilTest {
ZipUtil.zip(FileUtil.file("d:\\test\\qr.zip"),false,dd);
}
@Test
public void SizeUnzip() throws IOException {
String zipPath = "F:\\BaiduNetdiskDownload\\demo.zip";
String outPath = "F:\\BaiduNetdiskDownload\\test";
ZipFile zipFile = new ZipFile(zipPath, Charset.forName("GBK"));
File file = new File(outPath);
// 限制解压文件大小为637KB
long size = 637*1024L;
// 限制解压文件大小为636KB
// long size = 636*1024L;
unzip(zipFile, file, size);
}
}