Java 不要用支柱2关闭“开关”;“输入流”;在他们得到结果之后?

Java 不要用支柱2关闭“开关”;“输入流”;在他们得到结果之后?,java,struts2,fileinputstream,auto-close,Java,Struts2,Fileinputstream,Auto Close,我在struts2中有一个操作,它打开一个FileInputStream,读取一个图像并在jsp中显示它 问题是,当struts获取完图像后,它会自动处理FileInputStream和close()吗?还是流保持打开 结果将关闭输入流;所有操作所做的就是提供流。一旦操作返回,代码就不再控制输入流 相关代码位于org.apache.struts2.dispatcher.StreamResult:doExecutestruts2将在输入流为您完成工作后负责关闭输入流 这里是到源代码的链接,您可以很

我在
struts2
中有一个操作,它打开一个
FileInputStream
,读取一个图像并在jsp中显示它


问题是,当struts获取完图像后,它会自动处理
FileInputStream
close()
吗?还是流保持
打开

结果将关闭输入流;所有操作所做的就是提供流。一旦操作返回,代码就不再控制输入流


相关代码位于
org.apache.struts2.dispatcher.StreamResult:doExecute

struts2将在输入流为您完成工作后负责关闭输入流

这里是到源代码的链接,您可以很好地看到,关闭流已经很小心了

以下是来自同一版本的代码片段:

 finally {

           if (inputStream != null) inputStream.close();
           if (oOutput != null) oOutput.close();
        }
希望会让你清楚地知道事情是如何进行的