URL類與URLConnection類使用程式碼演示
阿新 • • 發佈:2018-12-17
URL類演示
URLDemo程式演示這些方法的使用以及一個URL的不同部分
/*URLDemo.java *演示URL類的用法。 */ package ch18; import java.net.*; import java.io.*; public class URLDemo { public static void main(String[] args) { try { URL url = new URL ("http://www.lovoinfo.com/courseware/index.html?title=btw#mid"); System.out.println("URL為:" + url.toString()); System.out.println("協議為:" + url.getProtocol()); System.out.println("授權部分為: " + url.getAuthority()); System.out.println("檔名為:" + url.getFile()); System.out.println("主機為:" + url.getHost()); System.out.println("路徑為:" + url.getPath()); System.out.println("埠為" + url.getPort()); System.out.println("預設埠為:" + url.getDefaultPort()); System.out.println("查詢字串為:" + url.getQuery()); System.out.println("引用錨點為:" + url.getRef()); } catch (IOException e) { e.printStackTrace(); } } }
效果如下圖:
下面演示瞭如何讀取網頁並儲存在本地html檔案中
package com.work.net.url; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.URL; import com.work.net.util.CloseUtil;//這個工具類只是我寫來用於關流的 public class URLDemo02 { public static void main(String[] args) { URL url = null; BufferedWriter writer = null; BufferedReader reader = null; String path = "d://files/baidu.html"; try { File file = new File(path); url = new URL("http://www.baidu.com"); //通過該url去獲取具體的輸入流 reader = new BufferedReader(new InputStreamReader(url.openStream(), "utf-8")); writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file))); int lenth = 0; char [] data = new char[1024]; //邊讀邊寫 while((lenth = reader.read(data)) != -1) { writer.write(data, 0, lenth); } writer.flush(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { CloseUtil.closeIO(writer,reader); } } }
URLConnection類演示
URLConnectionDemo程式連線到一個URL(http://www.lovoinfo.com),然後讀出網站首頁的資訊。
/*URLConnectionDemo.java * URLConnection使用演示 */ package ch18; import java.net.*; import java.io.*; public class URLConnectionDemo { public static void main(String[] args) { try { URL url = new URL("http://www.sanxuau.com"); URLConnection urlConnection = url.openConnection(); HttpURLConnection connection = null; if (urlConnection instanceof HttpURLConnection) { connection = (HttpURLConnection) urlConnection; } else { System.out.println("請輸入一個HTTP URL。"); return; } BufferedReader in = new BufferedReader(new InputStreamReader( connection.getInputStream())); String urlString = ""; String current; while ((current = in.readLine()) != null) { urlString += current; } System.out.println(urlString); } catch (IOException e) { e.printStackTrace(); } } }