JAVA导入Excel 报错 java.io.IOException: Zip bomb detected!

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

JAVA 导入 Excel 报错如下:  java.io.IOException: Zip bomb detected! 

Exception in thread "main" java.io.IOException: Failed to read zip entry source
    at org.apache.poi.openxml4j.opc.ZipPackage.(ZipPackage.java:106)
    at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:342)
    at org.apache.poi.util.PackageHelper.open(PackageHelper.java:37)
    at org.apache.poi.xssf.usermodel.XSSFWorkbook.(XSSFWorkbook.java:285)
    at test.test.main(test.java:48)
Caused by: java.io.IOException: Zip bomb detected! The file would exceed the max. ratio of compressed file size to the size of the expanded data. This may indicate that the file is used to inflate memory usage and thus could pose a security risk. You can adjust this limit via ZipSecureFile.setMinInflateRatio() if you need to work with files which exceed this limit. Counter: 1483367, cis.counter: 14796, ratio: 0.009974605070761314Limits: MIN_INFLATE_RATIO: 0.01
    at org.apache.poi.openxml4j.util.ZipSecureFile$ThresholdInputStream.advance(ZipSecureFile.java:257)
    at org.apache.poi.openxml4j.util.ZipSecureFile$ThresholdInputStream.read(ZipSecureFile.java:214)
    at java.io.FilterInputStream.read(Unknown Source)
    at org.apache.poi.openxml4j.util.ZipInputStreamZipEntrySource$FakeZipEntry.(ZipInputStreamZipEntrySource.java:132)
    at org.apache.poi.openxml4j.util.ZipInputStreamZipEntrySource.(ZipInputStreamZipEntrySource.java:56)
    at org.apache.poi.openxml4j.opc.ZipPackage.(ZipPackage.java:99)
    ... 4 more

问题 及 解决 : https://stackoverflow.com/questions/46796874/java-io-ioexception-failed-to-read-zip-entry-source

整理如下: 

// 延迟解析比率
ZipSecureFile.setMinInflateRatio(-1.0d);
workbook = new XSSFWorkbook(file.getInputStream());
               

 

转载于:https://my.oschina.net/u/3681868/blog/2253908

你可能感兴趣的:(JAVA导入Excel 报错 java.io.IOException: Zip bomb detected!)