本帖最后由 杜光 于 2013-7-27 14:56 编辑
如果 in == null,就说明 in这个引用所指向的对象还没有被创建,自然 in.close()也就不可能被执行,而且会报异常。我是这样想的,程序中 如果你先声明变量 InputStream(或者其他流类型) in = null;然后执行其他语句,再 in = new 、、、、在in new之前其他语句出exception,这时流没有被打开,也就无需关闭,如果不判断if(null != in) 硬要关闭in就出exception另外你的代码按如下写会更合理: if(null != in){ try{ in.flush(); in.close(); in = null; } catch(IOExection e){}; } |