我已经被这个问题困扰了一段时间,我读了一些关于如何实现inputstream变量及其生命周期的教程和文档,但是我又一次克服了一个同样的错误,这个错误标记为“推断”来自facebook的静态分析器,这表明我有一个问题:
资源泄漏
在此代码中:
File file = new File(PATH_PROFILE + UserHelper.getInstance().getUser().getId() + ".jpg");
OutputStream os = null;
try {
os = new FileOutputStream(file);
os.write(dataBytes);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (os != null) {
try {
os.flush();
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
描述错误为:
错误:资源泄漏
类型资源
java.io.FileOutputStream
通过调用获取
FileOutputStream(...)
在第494行,在第499行之后不释放。
但我把它放在最后一块,这是一个错误警报?或者我遗漏了什么?因为我在这方面已经有一段时间了,我不知道错误在哪里。
我真的很感谢你的帮助和支持。