2013-04-20 8 views
24

Ich habe ein Problem, die Bedeutung der connect() Methode in der URLConnection Klasse zu verstehen. Im folgenden Code, wenn ich die connect() Methode verwende, bekomme ich das gleiche Ergebnis, wenn ich es nicht benutze.Java URLConnection - Wann muss ich die Methode connect() verwenden?

Warum (oder wann) muss ich es verwenden?

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); 
} 

Antwort

25

Sie müssen die connect-Methode nicht explizit aufrufen, um die Verbindung zu initiieren.

Operationen, die von der Verbindung abhängig sind, wie getInputStream, getOutputStream usw., führen implizit die Verbindung aus, falls erforderlich.

Hier ist der Oracle-doc link

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

nur ein Objekt

connect() schafft Methode conn.getInputStream();

+2

Ganz korrekt aufgerufen wird. Downvoter bitte erklären. +1 – EJP