servlet中输入输出流关闭问题
若_离 2014-04-17 02:42:16 一般情况输入输出流用完肯定需要在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(),那是否就意味着关闭任意一个流就可以了?