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