3

我有一个动作struts 2,它打开一个FileInputStream,读取图像并在 jsp 中显示它。

问题是当struts完成获取图像时,它会自动处理它FileInputStream还是close()留下流open

4

2 回答 2

2

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

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

于 2011-12-02T10:45:06.810 回答
1

一旦为您完成工作,Struts2 将负责关闭输入流。

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

Struts2 StreamResult 源代码

以下是相同的代码片段:

 finally {

           if (inputStream != null) inputStream.close();
           if (oOutput != null) oOutput.close();
        }

希望能让你清楚地了解事情的进展情况。

于 2011-12-02T14:00:41.283 回答