easyexcel
easyexcel copied to clipboard
poifiles临时文件无法删除
触发Bug的代码
org.apache.poi.xssf.streaming.SXSSFSheet#createRow
在这个类因为磁盘控件不足抛出IO异常时
会走到finish中的这个地方
但是在执行的过程中因为这个方法之前,流关闭了导致没有删除临时文件

这里写代码
**提示的异常或者没有达到的效果**
通过随意写一个100行以上的文件在上述断点处用idea抛一个IOException,就可以触发,猜测是因为流关闭,但是sheet中dispose需要落盘,导致报错没有删除临时文件

org.apache.poi.xssf.streaming.SXSSFSheet#allFlushed 可能在报错的时候需要反射把这个值改成true然后才能删除,不然在磁盘满的情况下flush磁盘的时候还是无法删除临时文件
遇到了同样的问题,当磁盘已满时,这个dispose方法会调用失败,最后导致临时文件无法被清理。