是要提倡放在finally里,这是对的。
你放进去报错了,有可能是你没有把
outputstream os 没有在try外面定义,
你现在是在里面定义,那os只能
在try包裹的区域能够使用,你需要
在finally里面关闭它,那你就
需要在try外面先定义它
outputstream os=null;
try{
.......
os=......
}catch(){
}finally{
if(os!=null){
os.close()
}
}
望采纳哦!!!
这是作用域的问题,因为你的OutputStream定义在
try{}catch(){}
块中,那么这个OutputStream就只能在 try{}块中使用,而 finally 在 try 之外,所以才会出现OutputStream在 finally 中关闭是出现报错的问题;
虽然根据规范I/O资源释放应该放在 finally 中处理,但是也要看实际情况,