【学习随记】使用URL读取页面内容

这篇学习随记介绍了如何使用URL从互联网上获取资源。文章提到URL是互联网上资源的唯一地址,详细讲解了URL的构造方法,并提及在读取时如何避免出现乱码问题,特别是使用InputStreamReader进行字节到字符的转换时,指定utf-8编码的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习视频来自慕课网,感谢~

初学者,代码中的相关知识,以后再给自己做补充。

URL百度百科:

统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;

/*
 * 使用URL读取页面内容
*/
public class test3 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		try {
			//创建一个URL实例
			URL url=new URL("https://www.baidu.com");
			System.out.println("协议:"+url.getProtocol());
			//通过URL的openstream方法获取URL对象所表示的资源的字节输入流
			InputStream is=url.openStream();
			//将字节输入流转换为字符输入流
			InputStreamReader isr =new InputStreamReader(is,"utf-8");
			//为字符输入流添加缓冲
			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 (MalformedURLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}

}


此处URL的构造方法参照API文档:URL​(String spec) String表示中创建一个 URL对象。 

关于InputStreamReader:InputStreamReader是从字节流到字符流的桥梁:它读取字节,并使用指定的charset将其解码为字符。 它使用的字符集可以由名称指定,也可以被明确指定,或者可以接受平台的默认字符集。

这里如果不指定utf-8编码,则会生成乱码。

运行结果:


将去除第一行的文本编写为html的文本文档打开,并且改变编码为中文简体:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值