1、URL

          a、URL 统一资源定位符,表示Internet上某一资源的地址。

          b、URL 由两部分组成:协议名称和资源名称,中间用冒号隔开。

          c、在java.net包中,提供了URL类来表示URL。

package test01;

2、使用URL读取网页内容

import java.net.MalformedURLException;
 import java.net.URL;

 /*
  * URL常用方法
  */
 public class test02 {
     
     public static void main(String args[]) {
         try {
             URL mm=new URL("http://www.baidu.com");
             //?后面表示参数  #后面表示锚点
             URL url=new URL(mm, "/index.html?username=tom#test");
             System.out.println("协议:"+url.getProtocol());
             System.out.println("主机:"+url.getHost());
             //如果未指定端口号,则使用默认端口号,getport()方法返回值为-1
             System.out.println("端口号:"+url.getPort());
             System.out.println("文件路径:"+url.getPath());
             System.out.println("文件名称:"+url.getRef());
         } catch (MalformedURLException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
         }
     }

 }

      a、通过URL对象的openStream()方法可以得到指定资源的输入流

      b、通过输入流可以读取、访问网络上的资源

package test01;

import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.net.MalformedURLException;
 import java.net.URL;

 /*
  * 使用URL读取网页内容
  */
 public class tese03 {

     public static void main(String[] args) {
         try {
             URL url =new URL("http://www.baidu.com");
             //通过URL的openStream方法获取URL对象所表示的资源的字节输入流
             InputStream is=url.openStream();
             //将字节输入流转换为字符输入流
             InputStreamReader isr=new InputStreamReader(is,"utf-8");
             //为字符输入流添加缓存
             BufferedReader br=new BufferedReader(isr);
             String date=br.readLine();
             while (date!=null) {
                 System.out.println(date);
                 date=br.readLine();
                 
             }
             br.close();
             isr.close();
             is.close();
         } catch (MalformedURLException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
         } catch (IOException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
         }
     }

 }