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();
}
}
}
结果
会出现网页的以堆代码 ,