java - Veracode CWE ID 404 不正确的资源关闭或释放
问题描述
我有这个代码:
try {
BufferedWriter bw = null;
FileWriter fw = null;
try {
final String fileName = getFileName();
File propertiesFile=new File(getFilesDir(), fileName);
fw = new FileWriter(propertiesFile);
bw = new BufferedWriter(fw);
bw.write(s);
File file = new File(getFilesDir(), fileName);
} catch (IOException e) {
}finally{
if(bw != null){
bw.close();
}
if(fw != null){
fw.close();
}
if(bw != null){
bw.close();
}
}
} catch (Exception e) {
}
Veracode 在此行bw.write(s)上检测到缺陷(不正确的资源关闭或释放); 如何解决这个问题?提前致谢
解决方案
从 java 7 开始使用 try-with-resources
try (FileWriter fw = new FileWriter(propertiesFile);
BufferedWriter bw = new BufferedWriter(fw)){
......
}catch (Exception e){}
推荐阅读
- react-native - Bitrise + Detox + React-native - Hello World 示例挂在 detox.init 上
- java - 无法将字符串转换为本地日期
- seaborn - 沿样条曲线绘制条形图
- angular - Angular Material:如何在“mat-card-header”中使用“mat-icon”作为“mat-card-avatar”?
- reactjs - 我不知道如何在我的 react.js 项目中使用 pexels api
- r - 轴标签在 highcharter 条形图中被截断
- xml - XSLT 将参数外部字符串值集与字符串进行比较?
- javascript - 在angular(4)中作为承诺传递给大子组件时获取“this.editAction不是函数异常”
- python - Jupyter Notebook 为除 base(root) 之外的所有环境打开一个空白页面
- javascript - 完成必填字段后,如何允许提交表单?