如果发生 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);
}
InputStream
in
会关闭,byteStream
不会。
我正在尝试正确处理 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);
}
InputStream
in
会关闭,byteStream
不会。