最近的一个项目中,使用Converity检测代码时,检测到了到了一些资源泄露问题。大概就是下面这个样子代码,检测中提到inputStream未关闭。但是我看到好多代码都是未关闭inputStream(zipFile.getInputStream(xmlEntry))这个流,所以有些疑惑,到底应不应该手动关闭这个流。
1、代码
ZipFile zipFile = null;
InputStream inputStream = null;
try{
zipFile = new ZipFile(path);
ZipArchiveEntry xmlEntry = zipFile.getEntry("des.xml");
inputStream = zipFile.getInputStream(xmlEntry);
.......
}catch(Exception e){
}finally{
zipFile.close();
}
......
2、我的疑惑
我在finally代码块中执行了zipFile.close(),inputStream这个流还需要手动关闭吗?