如從URL.openStream()創建inputStream;從JAVA的URL對象中讀取數據有什麼用途
並從中讀取。這些信息的用途是什麼?
當我們使用URL地址創建一個URL對象時,實際上我們並沒有在我們的java程序和互聯網上的URL之間建立連接,對吧? 由於沒有建立這樣的連接(換句話說,我們分離了2個),我們甚至如何從中讀取信息?換句話說,我們怎麼知道它是什麼樣子?
對不起,關於網絡frosh。 :p
感謝您的任何意見!
如從URL.openStream()創建inputStream;從JAVA的URL對象中讀取數據有什麼用途
並從中讀取。這些信息的用途是什麼?
當我們使用URL地址創建一個URL對象時,實際上我們並沒有在我們的java程序和互聯網上的URL之間建立連接,對吧? 由於沒有建立這樣的連接(換句話說,我們分離了2個),我們甚至如何從中讀取信息?換句話說,我們怎麼知道它是什麼樣子?
對不起,關於網絡frosh。 :p
感謝您的任何意見!
URL.openStream()確實打開了一個到URL的連接。從the API documentation:
打開到此URL的連接並 返回一個InputStream從該連接讀 。這種方法是 簡寫:
openConnection().getInputStream()
應該由現在某種形式的連接建立是顯而易見的。連接被設置爲獲取位於該URL的資源的內容。當然,這取決於在URL對象中指定的協議模式 - HTTP或JAR。響應可以從輸入流中讀取爲字節,就像任何其他流一樣。
InetAddress是「example.com」(或99.99.99.99
),但URL是「http://example.com/wombats.html」。
InetAddress只是一臺機器的網絡地址,沒有提供有關該機器支持哪些服務或如何連接到它們的任何信息。 (InetAddress類將負責將諸如「example.com」之類的DNS名稱映射到IP地址。)
URL是資源(例如文件)的位置並且通常意味着獲取它的方式。 (URL是統一資源定位符的縮寫。)URL.openStream()
方法是(試圖)獲取由URL表示的資源的簡單方法。
當您創建URL
對象時,您不建立任何網絡連接。當您(例如)撥打URL.openStream()
時建立連接。
非常感謝您的迴應! 然後URL和InetAddress有什麼區別?不知何故,我發現他們...? – Yue 2010-08-18 01:32:33
InetAddress是一種URL? (都代表互聯網上的地址,但InetAddress專門用於主機。)? – Yue 2010-08-18 01:34:57
InetAddress類用於表示單個主機(IP地址)。 URL是用戶代表主機上可能存在的許多資源中的任何一個。 – 2010-08-18 01:40:04