Sonar
ブロッカー タイプである以下のコードのバグを示しています。閉じていないと不平を言っていFileInputStream
ますが、どうすればそれを行うことができますか? FileInputStream
メソッドの戻り値の型であり、ここで閉じると、呼び出し元からは役に立たなくなります。FileInputStream
同じメソッドがそれを返す場合、どのように最終ブロックで閉じることができますFileInputStream
か?
コードは次のとおりです。
@Override
public InputStream getInputStream() throws MissingObjectException {
try {
InputStream is;
if (smbFile != null) {
is = new BufferedInputStream(new SmbFileInputStream(smbFile), 60000);
}
else {
is = new BufferedInputStream(new FileInputStream(getFilePath()));
}
return is;
}
catch (Exception e) {
throw new MissingObjectException();
}
}