URL是初次接触Java网络编程的小白难以绕过的坎,而且它相当抽象。本文试着以最简单的方式向入门小白介绍Java中的URL对象使用。
目录:
- URL是什么
- Java中如何使用URL
- Java中URL的简单用例
1. URL是什么
- URL是统一资源定位符。
比如CSDN首页上地址栏这一个部分就是一个URL
即:
https://www.csdn.net/?spm=1011.2124.3001.4476
下面我们对这个URL的主要部分做一个解析:
1.http:表示浏览器使用哪一种协议,也就是规定用户的电脑和CSDN的服务器之间用什么方式进行交流,此处只需要知道http是一种常见的协议即可。
2.www.csdn.net:这一部分叫做域名,也就是CSDN的服务器的主机名(简单理解就是控制CSDN网站的电脑的名字),域名部分是URL的主要部分。只有知道了域名,浏览器才知道你想要访问哪一个网站。
3.有一些URL会在域名之后带有端口号,用一个整数表示。相当于一家银行不同的窗口有不同的业务功能,不同的端口号对应着网站的不同功能。
其余的部分我个人认为初学者可以不急于掌握,这里也就不做展开了。
2.Java中如何使用URL
在Java标准库中,有一个专门的URL类用于提供与URL有关的一些功能,使用时引用这个类即可。(java.net包中)
初学者创建一个URL对象知道以下方法即可:(当然啦,也有更加复杂和专业的方法,遇到再学效果更好)
URL 对象名 = new URL(用字符串表示的URL)
创建URL对象可能抛出异常,需要进行异常处理或者抛出异常!
但是需要注意!URL的综合应用往往需要输入输出流部分的相关知识,如果你还没有对Java中的输入输出流有一个大致的了解,建议可以先去学一学输入输出流的相关知识,再来看下面的代码实例。
3.Java中URL的简单用例
要求:用URL类来抓取CSDN首页上的信息
import java.net.*;//使用URL类需要引用net包
import java.io.*;//使用输入输出流需要引用io包
public class URLTest
{
public static void main(String[] args) throws Exception//URL对象创建可能抛出异常
{
URL cs = new URL("https://www.csdn.net/?spm=1011.2124.3001.4476");//创建一个URL对象,关联到CSDN站点首页
BufferedReader in=new BufferedReader(new InputStreamReader(cs.openStream()));//创建一个缓冲输入流对象读取网站信息
//按行读取并屏幕输出,直到最后一行
String inputLine;
while((inputLine=in.readLine())!=null)
{
System.out.println(inputLine);
}
in.close();//输入输出流对象使用后都要记得关闭对象
}
}
程序运行结果若输出CSDN首页的html源代码则程序运行成功。(是的,URL抓取的信息只是一个网站的html代码,并不是直接显示网站上的所有显示内容)
总结:
1.URL是不同网页的身份标识,每一个网页都有一个特定的URL与其对应,显示在网站的地址栏中。
2.Java中可以通过标准库中的URL类来抓取指定网站的内容,即指定网站的html源代码。