无法在Apache WorkbookFactory上找到close()方法

时间:2015-12-15 07:04:28

标签: java apache-poi

我读到了Apache WorkbookFactory

指南说完成后关闭工作簿。 “工作簿应在使用后关闭”

但是我没有一个关闭它的方法。

怎么可以关闭?

Workbook wb = WorkbookFactory.create(tempFile);
wb.close();

我正在使用Apache poi Maven,版本3.9

The method close() is undefined for the type Workbook   ...     line 423    Java Problem

注1:为了正确释放资源,应在使用后关闭工作簿。

注2:从InputStream加载比从File

加载需要更多内存

我想使用文件而不是像this one说话

这样的输入流

2 个答案:

答案 0 :(得分:8)

Workbook.close()已在poi 3.11版本中实施。

在完成工作簿的工作并编写完成后,您必须关闭输出流。

来自POI user guide

Workbook wb = new XSSFWorkbook();
FileOutputStream fileOut = new FileOutputStream("workbook.xlsx");
wb.write(fileOut);
fileOut.close();

不要忘记关闭工作簿:

wb.close();

答案 1 :(得分:2)

  

无法在Apache WorkbookFactory上找到close()方法

您需要关闭Workbook,而不是工厂。

  

注1:为了正确释放资源,应在使用后关闭工作簿。

正确。

  

注2:从InputStream加载需要的内存比从File

加载需要更多内存

不真实,除非InputStreamByteArrayInputStream