如果发生 IOException,此 InputStream 是否会正确关闭?

Will this InputStream be closed properly if an IOException occurs?

我正在尝试正确处理 IOException,而不必求助于大量嵌套的 try/catch 语句。 通过在线阅读,我了解到这可能是处理它的正确方法。但我不是 100% 确定。这是正确的吗?

    try (InputStream in = blob.getBinaryStream()) { 
            while (in.read(bytesRead) != -1) {
                byteStream.write(bytesRead);
            }   
    }catch(IOException e){
        logger.error("An IOException occurred while streaming a blob from the database", e);
    }

InputStreamin会关闭,byteStream不会。