正确关闭URLConnection和InputStream吗?

我已经看到了许多使用HttpURLConnection +

InputStream并在使用后关闭(或不关闭它们)的示例。这就是我想出的方法,以确保完成后所有内容都关闭,无论是否存在错误。这有效吗?

HttpURLConnection conn = null;

InputStream is = null;

try {

URL url = new URL("http://example.com");

// (set connection and read timeouts on the connection)

conn = (HttpURLConnection)url.openConnection();

is = new BufferedInputStream(conn.getInputStream());

doSomethingWithInputStream(is);

} catch (Exception ex) {

} finally {

if (is != null) {

try {

is.close();

} catch (IOException e) {

}

}

if (conn != null) {

conn.disconnect();

}

}

谢谢

回答:

是的。在做最后的端部将是最好的主意,因为如果代码某处出现故障时,程序将无法达到,直到.close().disconnect()报表,我们catch语句之前保持…

如果代码在某处失败并且在程序之间引发异常,则无论引发异常如何,最终仍将执行。

以上是 正确关闭URLConnection和InputStream吗? 的全部内容, 来源链接: utcz.com/qa/432986.html

回到顶部