- 協議 + 存放資源主機位置+端口 +資源文件名(相對主機相對路徑)
- 創建
- 絕對路徑創建:URL(String spec)
- 相對路徑創建:相對路徑構建,URL(URL context, spec)
利用URL獲取網絡資源import java.net.MalformedURLException; import java.net.URL; /** * 協議 存放資源主機名 端口 資源文件名(/之後的,的相對路徑相對主機) * URL創建: * 一:絕對路徑構建,URL(String spec) * 二:相對路徑構建,URL(URL context, spec) * * @author Administrator */ public class url { public static void main(String[] args) throws MalformedURLException { // 絕對路徑構建 URL url = new URL("http://baidu.com:80/index.html#aa?name=te"); System.out.println("協議" + url.getProtocol()); System.out.println("域名" + url.getHost()); System.out.println("端口" + url.getPort()); System.out.println("資源" + url.getFile()); System.out.println("相對路徑" + url.getPath()); // 錨點和參數衝突只能獲取一個 System.out.println("錨點" + url.getRef()); System.out.println("參數" + url.getQuery()); // 相對路徑構建 url = new URL("http://baidu.com:80/a/"); url = new URL(url, "b.txt"); System.out.println(url.toString()); } }
package cn.woniux.url; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.URL; /** * URL獲取網頁源代碼 openStream * * @author Administrator * */ public class UrlGetSource { public static void main(String[] args) throws IOException { URL url = new URL("http://www.baidu.com"); //獲取網絡資源 InputStream input = url.openStream(); //數據輸入流,將網絡獲取的字節流,解析爲字符流,已緩衝流輸入 BufferedReader br = new BufferedReader(new InputStreamReader(input, "utf-8")); //數據輸出流,讀取輸入流的字符流,利用文本流輸入到指定的文本中 BufferedWriter bw = new BufferedWriter( new OutputStreamWriter(new FileOutputStream("baidu.html"), "utf-8")); String msg = null; /*將輸入流數據放入輸出流中*/ while ((msg = br.readLine()) != null) { bw.append(msg); bw.newLine(); } /*關閉資源*/ bw.flush(); bw.close(); br.close(); } }
網絡協議基礎之URL
URL組成部分及創建:
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.