fortify——Unreleased Resource: Streams

一般有两种方法:

a.手动关闭+异常处理  br.close。


b.FileUtil.closeStream(fis);
导入:import org.apache.commons.io.IOUtils;



1.  prop.load(ConfigUtil.class.getResourceAsStream("/config.properties"));    //Unreleased Resource: Streams

       getResourceAsStream  对应 InputStream     

修改如下:

InputStream is = null;
			is = ConfigUtil.class.getResourceAsStream("/config.properties");
			prop.load(is);
			try {
				if (is != null) {
					is.close();
				}
			} catch (Exception e) {
				EMLogger.error(e);
			}

2.对于数据库:

try{
if(con!=null)
con.close();
}
catch (SQLException ex) {
///错误处理
}
}


3.可以双重处理

try {
			if (fop != null)
				fop.close();
		} catch (Exception e) {
			EMLogger.error(e);
		}
		finally{
			FileUtil.closeStream(fop);
		}

近期经常修改,发现流关闭和异常、循环有很大的关系,有时候关闭位置要选好,可以再fortify上看给出的信息,分析,这个流资源该怎么关闭。

总之需要试试。。。实在关不了就只能挑出来上报。

你可能感兴趣的:(代码管理--规范安全)