2013-04-20 36 views
24

Tôi gặp vấn đề để hiểu ý nghĩa của phương pháp connect() trong lớp URLConnection. Trong đoạn mã sau, nếu tôi sử dụng phương pháp connect(), tôi nhận được kết quả tương tự nếu tôi không sử dụng nó.Java URLConnection - Khi nào tôi cần sử dụng phương thức connect()?

Tại sao (hoặc khi nào) tôi cần sử dụng?

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

Trả lời

25

Bạn không bắt buộc phải gọi phương thức kết nối để bắt đầu kết nối một cách rõ ràng.

Các hoạt động phụ thuộc vào việc được kết nối, như getInputStream, getOutputStream, v.v., sẽ ngầm thực hiện kết nối, nếu cần.

Đây là oracle doc link

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

chỉ tạo ra một Object

connect() phương pháp được gọi bởi conn.getInputStream();

+2

Khá chính xác. Downvoter xin giải thích. +1 – EJP

Các vấn đề liên quan