Если у меня в сервлете следующий код:
Properties p = new Properties();
p.load(getClass().getResourceAsStream("/test.properties"));
Если я запускаю сервлет через FindBugs, я ожидаю получить предупреждение OS_OPEN_STREAM , но я не получаю. Если я использую аналогичный подход для открытия произвольного файла в файловой системе (т.е. не в пути к классам), я получаю предупреждение Findbugs, как и ожидалось:
Properties p = new Properties();
p.load(new FileInputStream(new File("c:/test.properties")));
В первом примере отсутствует предупреждение, потому что Findbugs отсутствует действительное предупреждение (т.е. я должен закрывать поток в блоке finally после загрузки в объект Properties) или есть причина, по которой мне не нужно закрывать поток?
Спасибо
Рич