URL
1、URL(Uniform Resource Locator)统一资源定位符,标示Internet上某一资源的地址。
2、URL由两部分组成:协议名称和资源名称,中间用冒号隔开。
3、在java.net包中,提供了URL类来表示URL。**
文档释义:
- 类URL
代表一个统一资源定位符,它是指向互联网“资源”的指针。资源
可以是简单的文件或目录,也可以是对更为复杂的对象的引用,例如对数据*
库或搜索引擎的查询。
主要方法使用实例:
public class Test {
public static void main(String[] args) throws UnknownHostException, MalformedURLException {
URL imooc=new URL("http://www.imooc.com");
URL url=new URL(imooc,"/index.html?username=tom#test");
System.out.println("协议:"+url.getProtocol());
System.out.println("主机:"+url.getHost());
System.out.println("端口:"+url.getPort());
System.out.println("文件路径:"+url.getPath());
System.out.println("文件名:"+url.getRef());
System.out.println("查询字符串:"+url.getQuery());
}
}
输出结果:
协议:http
主机:www.imooc.com
端口:-1
文件路径:/index.html
文件名:test
查询字符串:username=tom
使用URL读取网页内容
- 1、通过URL对象的openStream()方法可以得到指定资源的输入流。
-
2、通过输入流可以读取、访问网络上的数据。
示例代码:
public class Test {
public static void main(String[] args) throws UnknownHostException, MalformedURLException {
try {
//创建一个URL实例
URL url=new URL("http://api.openweathermap.org/data/2.5/forecast/daily?q=94043&mode=json&units=metric&cnt=14&APPID=bb2879c8b15d2794a29d778f76cf7341");
/*通过URL的openStream方法获取URL对象所表示的
资源的字节输入流*/
InputStream is = url.openStream();
//将字节输入流转化为字符 输入流
InputStreamReader isr=new InputStreamReader(is);
//为字符添加缓冲
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 (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
运行结果: