当我在eclipse中使用sonarlint来关闭一些代码时,关闭了finally块中的FileReader,sonarlint提示我"关闭这个' FileReader'"由规则生成的#34;资源应该关闭"。这是SonarLint的错误吗?这是SonarLint的错误吗?
我无法使用try-with-resources功能,因为我们的项目使用JDK 1.6
代码如下:
FileReader fr = null;
try {
fr = new FileReader(pidFile);
oldPid = new BufferedReader(fr).readLine();
}
catch (IOException e) {
LOGGER.error(e.getMessage(), e);
}
finally {
try {
if (fr != null) {
fr.close();
}
}
catch (IOException e) {
LOGGER.error(e.getMessage(), e);
}
}
答案 0 :(得分:0)
您没有关闭finally块中的缓冲读卡器。我建议你删除finally块中的所有内容并添加以下内容
IOUtils.closeQuietly(fr);
IOUtils.closeQuietly(oldPid);