2013-04-20 20 views
24

Ho riscontrato un problema nel comprendere il significato del metodo connect() nella classe URLConnection. Nel seguente codice, se utilizzo il metodo connect(), ottengo lo stesso risultato se non lo uso.Java URLConnection - Quando devo usare il metodo connect()?

Perché (o quando) devo usarlo?

URL u = new URL("http://example.com"); 
HttpURLConnection conn = (HttpURLConnection) u.openConnection(); 

conn.connect();//with or without it I have the same result 

InputStream in = conn.getInputStream(); 
int b; 
while ((b = in.read()) != -1) { 
System.out.write(b); 
} 

risposta

25

Non è sempre necessario chiamare esplicitamente il metodo di connessione per avviare la connessione.

Le operazioni che dipendono dalla connessione, come getInputStream, getOutputStream, ecc. Eseguiranno implicitamente la connessione, se necessario.

Ecco il doc oracolo link

22
HttpURLConnection conn = (HttpURLConnection) u.openConnection(); 

crea solo un oggetto

connect() metodo viene richiamato dal conn.getInputStream();

+2

del tutto corretto. Il downvoter per favore spiega. +1 – EJP

Problemi correlati