十五(四)、url

一、概述:

url:统一资源定位符;一个URL的一个对象对应互联网上的一个资源,

<传输协议>://<主机名>:<端口号>/<文件名>#片段名?参数列表 

二、常用方法:

读取的方法:

  •    getProtocol 获取URL的协议
  •      getHost 获取URL主机名
  •      getPort 获取URL端口号
  •      getPath 获取URL文件路径
  •      getFile 获取URL文件名
  •      getRef 获取URL在文件中的相对位置
  •      getQuery 获取URL查询名
 1 @Test
 2 public void test() throws MalformedURLException {
 3     URL url = new URL("https://www.cnblogs.com/lixiuming521125/tag/Java/default.html?page=1");
 4     System.out.println("获取URL的协议==>"+url.getProtocol());
 5     System.out.println("获取URL主机名==>"+url.getHost());
 6     System.out.println("获取URL端口号==>"+url.getPort());
 7     System.out.println("获取URL文件路径==>"+url.getPath());
 8     System.out.println("获取URL文件名==>"+url.getFile());
 9     System.out.println("获取URL在文件中的相对位置==>"+url.getRef());
10     System.out.println("获取URL查询名==>"+url.getQuery());
11     
12 }

结果:

获取URL的协议==>https
获取URL主机名==>www.cnblogs.com
获取URL端口号==>-1
获取URL文件路径==>/lixiuming521125/tag/Java/default.html
获取URL文件名==>/lixiuming521125/tag/Java/default.html?page=1
获取URL在文件中的相对位置==>null
获取URL查询名==>page=1

 

其他(既有输入又有输出)

通过URL的对象调用相应方法,将此资源读取(“下载”)

 1 //如何精服务器端的资源读取出来openStream,该方法只负责度如数据
 2                 InputStream is = url.openStream();
 3                 byte[] b = new byte[20];
 4                 int len;
 5                 //输出到控制台
 6                 while((len = is.read(b)) != -1){
 7                     String str = new String(b,0,len);
 8                     System.out.println(str);
 9                 }
10                 
11                 //如果有数据输入,又有输出,则考虑用URLConnection
12                 //保存到本地文件
13                 URLConnection urlConn = url.openConnection();
14                 InputStream is1 = urlConn.getInputStream();
15                 FileOutputStream fos = new FileOutputStream(new File("abc.txt"));
16                 byte[] b1 = new byte[20];
17                 int len1;
18                 while((len1 = is1.read(b1)) != -1){
19                     fos.write(b1, 0, len1);
20                 }
21                 fos.close();
22                 is1.close();

 

posted @ 2017-02-22 13:46  啄木鸟伍迪  阅读(402)  评论(0编辑  收藏  举报
//火箭 GenerateContentList();