servlet中输入输出流关闭问题

若_离 若_离 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
一般情况输入输出流用完肯定需要在finally里面关闭
但是servlet的输入输出流是否用完也必须手动关闭?
比如我需要用到request.getInputStream()
我直接使用 java.util.Properties 的load方法 load(request.getInputStream)
这样不就没法去关闭了,还是必须先定义InputStream in = request.getInputStream()
然后使用load(in),最后使用in.close()?

另外,JAVA的IO流使用了装饰模式,关闭最外面的流的时候会自动调用被包装的流的close()方法
是否意味着不管怎样去包装,其实只需要关闭最外面的流就可以了?
或者最外面的流最终调用的也是被包装的close()方法,那么我直接关闭最里层流就可以了?
如果只需要关闭最里层的,而外面的close()方法又调用的是被包装的close(),那是否就意味着关闭任意一个流就可以了?
...全文
评论 6
收藏 已收藏
分享
返回顶部
若_离
Web 开发 81,108 成员 341,721 内容