Анализатор обнаружил возвращение из метода 'AutoCloseable' объекта, который используется в выражении try-with-resources.
Выражение try-with-resources автоматически закрывает все ресурсы при выходе из него, то есть возвращённый ресурс всегда будет уже закрытым. В подавляющем большинстве случаев закрытые ресурсы не имеют применения, а вызов их методов почти всегда приведёт к возникновению 'IOException'.
public InputStream getStreamWithoutHeader() throws IOException
{
try (InputStream stream = getStream())
{
stream.skip(HEADER_LENGTH);
return stream;
}
}
В данном случае 'stream' будет закрыт перед передачей управления вызывающему методу и произвести какие-либо действия с этим потоком будет невозможно.
Вариант исправления:
public InputStream getStreamWithoutHeader() throws IOException
{
InputStream stream = getStream();
stream.skip(HEADER_LENGTH);
return stream;
}