从Apache POI SXSSF工作簿创建的Apache / tomcat / bin中删除文件

时间:2018-06-13 04:21:04

标签: java excel apache apache-poi

我正在使用SXSSF工作簿在我的代码中创建数据导出到excel,这会自动在Apache / tomcat / bin文件夹中创建一个excel文件

workbook.createSheet("")

这会重载tomcat并关闭应用程序。 我无法从/ bin文件夹中清除这些excel,我不需要它,因为excel被保存在不同的位置以备将来使用。 有没有办法避免在/ bin文件夹中创建这个excel,或者在excel保存到其他位置后将其删除?

1 个答案:

答案 0 :(得分:0)

Apache POI SXSSF代码库使用临时文件来避免使用过多的内存。默认情况下,这些临时文件写入Java临时目录(-Djava.io.tmpdir = / tmp)。 https://github.com/apache/poi/blob/trunk/src/java/org/apache/poi/util/DefaultTempFileCreationStrategy.java

您可以修改此系统属性的值,也可以提供自定义TempFileCreationStrategy。 https://poi.apache.org/apidocs/org/apache/poi/util/TempFile.html上的javadoc描述了如何执行此操作。