URL類
URL(Uniform Resource Locator):統一資源定位符,它表示 Internet 上 某一
資源的地址。
它是一種具體的URI,即URL可以用來標識一個資源,而且還指明瞭如何locate
這個資源。
通過 URL 我們可以訪問 Internet 上的各種網路資源,比如最常見的 www,ftp
站點。瀏覽器通過解析給定的 URL 可以在網路上查詢相應的檔案或其他資源。
URL的基本結構由5部分組成:
< 傳輸協議>://< 主機名>:< 埠號>/< 檔名># 片段名? 引數列表
例如:
http://192.168.1.100:8080/helloworld/index.jsp#a?username=shkstart&password=123
#片段名:即錨點,例如看小說,直接定位到章節
引數列表格式:引數名=引數值&引數名=引數值....
package com.atguigu.java1; import java.net.MalformedURLException; import java.net.URL; /** * URL網路程式設計 * 1.URL:統一資源定位符,對應著網際網路的某一資源地址 * 2.格式: * http://localhost:8080/examples/beauty.jpg?username=Tom * 協議 主機名 埠號 資源地址 引數列表 * * @author CH * @create 2021 下午 4:47 */ public class URLTest { public static void main(String[] args) { try { URL url = new URL("http://localhost:8080/examples/beauty.jpg?username=Tom"); // public String getProtocol( ) 獲取該URL的協議名 System.out.println(url.getProtocol()); // public String getHost( ) 獲取該URL的主機名 System.out.println(url.getHost()); // public String getPort( ) 獲取該URL的埠號 System.out.println(url.getPort()); // public String getPath( ) 獲取該URL的檔案路徑 System.out.println(url.getPath()); // public String getFile( ) 獲取該URL的檔名 System.out.println(url.getFile()); // public String getQuery( ) 獲取該URL的查詢名 System.out.println(url.getQuery()); } catch (MalformedURLException e) { e.printStackTrace(); } } }
package com.atguigu.java1; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; /** * @author CH * @create 2021 下午 4:54 */ public class URLTest1 { public static void main(String[] args) { HttpURLConnection urlConnection = null; InputStream is = null; FileOutputStream fos = null; try { URL url = new URL("http://localhost:8080/examples/beauty.jpg"); urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.connect(); is = urlConnection.getInputStream(); fos = new FileOutputStream("day10\\beauty3.jpg"); byte[] buffer = new byte[1024]; int len; while((len = is.read(buffer)) != -1){ fos.write(buffer,0,len); } System.out.println("下載完成"); } catch (IOException e) { e.printStackTrace(); } finally { //關閉資源 if(is != null){ try { is.close(); } catch (IOException e) { e.printStackTrace(); } } if(fos != null){ try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } if(urlConnection != null){ urlConnection.disconnect(); } } } }