十五(四)、url
一、概述:
getProtocol 获取URL的协议getHost 获取URL主机名getPort 获取URL端口号getPath 获取URL文件路径getFile 获取URL文件名getRef 获取URL在文件中的相对位置getQuery 获取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
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主机名==
获取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
我从来不相信什么懒洋洋的自由。我向往的自由是通过勤奋和努力实现的更广阔的人生。 我要做一个自由又自律的人,靠势必实现的决心认真地活着。
版权声明
本文仅代表作者观点,不代表博信信息网立场。