Java JXLS中的XLS阅读器是否关闭工作簿?

Java JXLS中的XLS阅读器是否关闭工作簿?,java,excel,resources,jxls,resource-leak,Java,Excel,Resources,Jxls,Resource Leak,我想知道jxls中的XlsReader类是否关闭工作簿。 我的代码是这样的: XLSReader mainReader = ReaderBuilder.buildFromXML(inputStreamXml); mainReader.read(inputStreamXLS, beans); XLSReader中没有类似close的方法。当工作簿关闭时,我试图在内部代码中找到某个点,但找不到。 这是read方法的内部实现: public XLSReadStatus read(InputStrea

我想知道jxls中的XlsReader类是否关闭工作簿。 我的代码是这样的:

XLSReader mainReader = ReaderBuilder.buildFromXML(inputStreamXml);
mainReader.read(inputStreamXLS, beans);
XLSReader中没有类似close的方法。当工作簿关闭时,我试图在内部代码中找到某个点,但找不到。 这是read方法的内部实现:

public XLSReadStatus read(InputStream inputXLS, Map beans) throws 
        IOException, InvalidFormatException{
        readStatus.clear();
        Workbook workbook = WorkbookFactory.create(inputXLS);
        for(int sheetNo = 0; sheetNo < workbook.getNumberOfSheets(); sheetNo++){
            readStatus.mergeReadStatus(readSheet(workbook, sheetNo, beans));
        }
        return readStatus;
}
public XLSReadStatus read(InputStream inputXLS,映射bean)抛出
IOException,InvalidFormatException{
readStatus.clear();
工作簿=WorkbookFactory.create(inputXLS);
对于(int sheetNo=0;sheetNo

有时xls文件被应用程序锁定,因为我在代码中找不到任何未释放资源的点,我想知道问题是否出在jxls上。显然XLSReader没有关闭工作簿。我的应用程序关闭输入流。应用程序是否也需要关闭工作簿?

XLSReader不关闭工作簿。原因是jxls reader是一个相当古老的模块,在创建它时,POI中没有工作簿close()方法

现在我认为应该使用该方法关闭工作簿并释放底层文件资源。因此,现在是在

问题中提出错误的好时机: