2

finallyブロックのFileReaderを閉じるeclipseでsonarlintを使用しているコードをananyzeすると、sonarlintは" Close this ' FileReader '"が生成されます。これは"リソースを閉じてください "というルールで生成されます。これはSonarLintのバグですか?これはSonarLintのバグですか?SonarLintのプロンプト "閉じてこの 'FileReader'を閉じたときfinallyブロックで実際に閉じたとき

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

あなたはfinallyブロック内にバッファリーダーを閉じていません。

私たちのプロジェクトは、JDK 1.6

コードを使用しているので、私は、してみてください-と資源の機能を使用することはできませんが、以下のようなものです。 finallyブロックのすべてを削除して、次を追加することをお勧めします。
IOUtils.closeQuietly(fr); IOUtils.closeQuietly(oldPid);

関連する問題