【网编03】Java中的URL的应用

URL熟悉吧就是网址啊 我曹,统一资源定位符,表示Internet上某一资源的的地址

URL这类在java.net包中

一、URL组成

这里写图片描述


二、URL常见方法

用代码说话

package com.daqsoft.thread.inetaddress;
import java.net.MalformedURLException;
import java.net.URL;

/**
 * Created by yanbo on 2017/6/8.
 * URL常用方法
 */
public class Text {
    public static void main(String[] args) {
        try {
            //创建一个URL实例
            URL imooc = new URL("http://www.imooc.com");
            /**
             * 更具一个url创建新的URL实例
             */
            URL url = new URL(imooc, "/index.html?username=tom#test");
            System.out.println("协议信息:"+url.getProtocol());
            System.out.println("主机信息:"+url.getHost());
            //如果未指定端口号则使用默认的端口号,此时getPort()方法返回值为-1(http默认为80)
            System.out.println("端口信息:"+url.getPort());
            System.out.println("文件路径:"+url.getPath());
            System.out.println("文件名称:"+url.getFile());//文件名=文件路径+参数
            System.out.println("相对路径:"+url.getRef());//就是锚点#号后面的内容
            System.out.println("查询字符串:"+url.getQuery());//参数

        } catch (MalformedURLException e) {
            e.printStackTrace();
        }
    }

}

结果

这里写图片描述


三、使用URL读取网页内容

  • 通过URL对象的openStream()方法可以得到指定的资源的输入流
  • 通过输入流可以读取访问网络上的数据

代码

package com.daqsoft.thread.inetaddress;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;

/**
 * Created by yanbo on 2017/6/8.
 * URL读取网页内容
 */
public class Text {
    public static void main(String[] args) {
        try {
            URL url = new URL("http://www.baidu.com");//创建一个URL实例
            InputStream is= url.openStream();//通过URL的openStream方法获取URL对象所表示的资源的字节输入流
            InputStreamReader isr = new InputStreamReader(is);//将字节输入流装换为字符输入流这里可以指定字符集编码(is,"utf-8")
            BufferedReader br = new BufferedReader(isr);//为字符流添加缓冲提高读取效率
            String data = br.readLine();//一次读取一行
            while (data !=null){//循环读取数据
                System.out.println(data);//输出数据
                data = br.readLine();
            }
            br.close();
            isr.close();
            is.close();
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

结果

会出现网页的以堆代码 ,

这里写图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值