我有一个动作struts 2
,它打开一个FileInputStream
,读取图像并在 jsp 中显示它。
问题是当struts完成获取图像时,它会自动处理它FileInputStream
还是close()
留下流open
?
我有一个动作struts 2
,它打开一个FileInputStream
,读取图像并在 jsp 中显示它。
问题是当struts完成获取图像时,它会自动处理它FileInputStream
还是close()
留下流open
?
结果将关闭输入流;所有的动作都是提供流。一旦操作返回,您的代码将不再控制输入流。
相关代码在org.apache.struts2.dispatcher.StreamResult:doExecute
.
一旦为您完成工作,Struts2 将负责关闭输入流。
这是源代码的链接,您可以很好地看到关闭流已经很小心了。
以下是相同的代码片段:
finally {
if (inputStream != null) inputStream.close();
if (oOutput != null) oOutput.close();
}
希望能让你清楚地了解事情的进展情况。