URL类与URLConnection类使用代码演示

版权声明:本篇文章由IT_CREATE整理 https://blog.csdn.net/IT_CREATE/article/details/83384885

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

 

猜你喜欢

转载自blog.csdn.net/IT_CREATE/article/details/83384885