Ho visto molti esempi diversi di usare HttpURLConnection + InputStream e chiuderli (o non chiuderli) dopo l'uso. Questo è ciò che mi è venuto in mente per assicurarmi che tutto sia chiuso dopo aver finito, se c'è un errore o meno. E 'questo valido ?:Chiudere URLConnection e InputStream correttamente?
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();
}
}
Grazie
anche voi volete setConnectTimeout e setReadTimeout così che nel caso in cui il server non sia disponibile o abbia un errore di lettura, la connessione non si bloccherà per sempre. –
@metalideath - sicuramente, li ho omessi solo per concisione, aggiungerò una nota nell'esempio nel caso qualcuno la usi come copia/incolla. – user291701
@metalideath: d'accordo con te ... Qui ho appena risposto come per domanda ... ci sono molte cose in questo mondo, dobbiamo esplorarlo ... –