URL
来源:互联网 发布:c语言逻辑优先级 编辑:程序博客网 时间:2024/06/06 01:22
URL:统一资源定位符,由协议加资源名称构成,如:http://www.baidu.com,协议是http,名称就是后面的些些。
Java中构造URL的方法:
其它方法:
下面进行一些测试:
package love.jimo;import java.net.MalformedURLException;import java.net.URL;public class URLTest {public static void main(String[] args) {try {//创建URL实例URL baidu = new URL("http://www.baidu.com");//?后面是参数,#后后面是锚点URL url = new URL(baidu,"/index.html?username=jimo#test");System.out.println("主机:"+url.getHost());System.out.println("协议:"+url.getProtocol());//未指定端口号,默认使用80端口,只是这时的getPort()返回值为-1System.out.println("端口:"+url.getPort());System.out.println("默认端口号:"+url.getDefaultPort());System.out.println("URL路径:"+url.getPath());System.out.println("文件名:"+url.getFile());System.out.println("锚点:"+url.getRef());System.out.println("URL的查询部分:"+url.getQuery());} catch (MalformedURLException e) {e.printStackTrace();}}}运行结果:
再来一个连网的例子:
package love.jimo;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.MalformedURLException;import java.net.URL;public class URLTest2 {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);//为字符输入流创建缓冲区BufferedReader br = new BufferedReader(isr);//循环读取数据String data = null;while(null != (data = br.readLine())){System.out.println(data);}//关闭输入流is.close();isr.close();br.close();} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}运行结果:
可以看到乱码的出现,因为百度用的utf-8编码,而编译器默认的gbk,所以这样改:
<span style="white-space:pre"></span>//将字节输入流转换为字符输入流InputStreamReader isr = new InputStreamReader(is,"utf-8");输出:
将此文件保存为HTML并用浏览器打开时也出现了乱码:
只有调整浏览器的编码了。
1 0
- url
- URL
- URL
- url
- url
- URL
- url
- URL
- url
- url
- url
- URL
- Url
- url
- URL
- URL
- url
- URL
- 111
- 博客的名字怎么修改啊?
- objective-c 绘图资料
- Hibernate从入门到精通(4)- 单向 一对多 多对一
- 栈与函数调用惯例
- URL
- mysql中or和in的效率问题
- Android----Eclipse 停在 Android SDK Content Loader
- 快速排序java版
- 数据结构和算法学习 —— 一次一题
- android 基础控件 EditText
- python第一章1.2 初步走进编程之门
- 微信支付app支付3.0接口开发
- CANoe简易教程2