Java Web --- URL类

URI --->统一资源     

URL(URI+Location) ---> 统一资源定位
     https://hao.360.cn:80/s?ie=utf-8&src=hao_360so_b&shb=1&hsid=3b9182c6b595417b&q=IP
         1.https:// 协议
         2.hao.360.cn 存放资源的主机地址(域名)
         3.:80端口,http默认端口80
         4./s?ie=utf-8&src=hao_360so_b&shb=1&hsid=3b9182c6b595417b&q=IP 资源名(相对路径)
    创建URL对象
        构造方法1:URL(String spec) 绝对路径(自主解析)
        构造方法2:URL(URL context, String spec) 相对路径(自主解析)
        构造方法3:URL(String protocol, String host, int port, String file,
               URLStreamHandler handler) 分别设定
             常用方法
        "协议:"+url.getProtocol()
        "域名:"+url.getHost()
        "端口:"+url.getPort()
        "数据资源名:"+url.getFile()
        "相对路径:"+url.getPath()
        "锚点:"+url.getRef()//锚点#aa
        "参数:"+url.getQuery()//存在锚点返回null(当做锚点的一部分);不存在返回uname=lp
    通过流获取网页资源
        openStream     (返回InputStream)

获取网页内容

/**
 * 通过流获取网页内容
 */
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URL;

public class URL02 {
	public static void main(String[] args) throws IOException {
		URL url = new URL("http://www.baidu.com");//访问主页(默认资源)
		//使用转换流解决乱码
				BufferedReader br = new BufferedReader(
						new InputStreamReader(
								url.openStream(),"utf-8")
						);
		//输出到文件
				BufferedWriter bw = new BufferedWriter(
						new OutputStreamWriter(
								new FileOutputStream("baidu.html"), "utf-8")
						);
				
				byte[] flush1 = new byte[1024];
				String msg = null;
				while((msg=br.readLine())!=null ){
					bw.append(msg);
					bw.newLine();
					
				}
				bw.flush();
				bw.close();
				br.close();
	}
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值