SXSSFWORKBOOK 临时文件删除
使用 sxssfworkbook 临时文件 删除
public void deleteSXSStempFile(SXSSFWorkbook workbook) throws Exception {
int sheetNum = workbook.getNumberOfSheets();
// 按照sheet下标获取
for (int i = 0; i < sheetNum; i++) {
Sheet sheetAt = workbook.getSheetAt(i);
//"_fd" "_writer" 属性,反射用
// 获取writer的文件
SheetDataWriter sdw = (SheetDataWriter) getTempFileObject(sheetAt, "_writer");
// 反射创建writer用临时文件的File
File f = (File) getTempFileObject(sdw, "_fd");
try {
f.delete();
} catch (Exception ex) {
// 删除错误
}
}
}
public static Object getTempFileObject(Object containingClass, String fieldToGet)
throws Exception {
Field declaredField = containingClass.getClass().getDeclaredField(fieldToGet);
declaredField.setAccessible(true);
Object get = declaredField.get(containingClass);
return get;
}