Lors de l'utilisation de HttpURLConnection, le InputStream doit-il être fermé si nous ne l'obtenons pas et ne l'utilisons pas ?
c'est-à-dire est-ce sûr?
HttpURLConnection conn = (HttpURLConnection) uri.getURI().toURL().openConnection();
conn.connect();
// check for content type I don't care about
if (conn.getContentType.equals("image/gif") return;
// get stream and read from it
InputStream is = conn.getInputStream();
try {
// read from is
} finally {
is.close();
}
Deuxièmement, est-il sûr de fermer un InputStream avant que tout son contenu n'ait été entièrement lu ?
Y a-t-il un risque de laisser le socket sous-jacent dans l'état ESTABLISHED ou même CLOSE_WAIT ?