Я получаю критическую ошибку с findbugs:
Метод создает объект потока ввода-вывода, не присваивает его никаким полям, не передает другим методам и не возвращает, а также не закрывает его на всех возможных путях исключения из метода. Это может привести к утечке дескриптора файла. Как правило, хорошей идеей является использование блока finally, чтобы убедиться, что потоки закрыты.
try {
...
stdError = new BufferedReader(new InputStreamReader(p.getErrorStream()));
...
} catch (IOException e) {
throw new RuntimeException(e);
} finally {
try {
if (stdError != null) {
stdError.close();
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
Мне нужно также закрыть InputStreamReader или p.getErrorStream (он возвращает InputStream)?