首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >何时关闭HSSFWorkbook构造函数中使用的HSSFWorkbook对象?

何时关闭HSSFWorkbook构造函数中使用的HSSFWorkbook对象?
EN

Stack Overflow用户
提问于 2020-02-14 10:57:13
回答 1查看 455关注 0票数 0

我正在使用HSSFWorkbook,我想知道在哪里关闭我在构造HSSFWorkbook对象时使用的InputStream对象。HSSFWorkbook是否在其构造函数本身中关闭流?还是我们需要手动关闭它?我们能在构造函数调用之后关闭它吗?也就是说,HSSFWorkbook对象是否仅在其构造函数中使用InputStream对象?或者将来也可以使用它(在这种情况下,我们不能关闭它)?谢谢。

代码语言:javascript
复制
public HSSFWorkbook loadSheet(File file) throws FileNotFoundException, IOException {
    return new HSSFWorkbook(new FileInputStream(file)); 
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-14 11:19:27

HSSFWorkbook的构造函数没有说明InputStream是关闭的还是打开的,所以乍一看,您不应该假设它将被关闭。然而,深入挖掘,另一方面,构造函数本身中使用的类的构造函数确实清楚地说明了它的行为。

至少在ApachePOI4.0.0中,对new HSSFWorkbook(inputStream)的调用将导致对new POIFSFileSystem(inputStream)的调用,而在它的实现中,这个调用似乎总是关闭流,构造函数文档确认了它。

这似乎指向了对你的问题的以下回答:

  • HSSFWorkbook是否在其构造函数本身中关闭流?是的,间接的。
  • 还是我们需要手动关闭它?显然不是,除非他们决定不再依赖POIFSFileSystem,这似乎是我们可以在构造函数调用之后关闭它吗?显然,是的..。
  • ,即HSSFWorkbook对象是否仅在其构造函数中使用InputStream对象?显然是这样的。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60224963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档