Java的网络知识(二)

2014-11-23 20:27:44 · 作者: · 浏览: 22
n/linuxaid.animation.html);是等价的。其中,第一个参数为协议,第二个参数为宿主名称,最后一个为文件的路径名。注意,文件名的开头为一个斜线’/’,说明文件名相对于宿主的根目录。类URL的另一个构造过程还在参数列表中添加了端口号,例如:
URL linuxaid = new URL(“http”,www.linuxaid.com,80,”/linuxaid.animation.html”);
其中,80是端口号,别的参数同前。该语句创建了如下的一个URL对象:
http://www.linunaid.com.cn:80/linunxaid.animation.html
如果使用这些过程创建一个URL对象,就可以通过使用URL的过程toString()或过程toExternalForm()得到一个包含完整URL地址的String对象。
(2) 异常MalformedURLException
在类URL的构造过程的两个版本中,当传递给它们的参数指向一个空的或不知道的协议时,它们都抛出一个MalformedURLException异常。如果希望捕捉和处理这个异常,只要将URL的构造过程语句放在一个try/catch中即可。例如:
try{
URL url=new URL(….);
}catch (MalformedURLException e){
//异常处理代码
}
四、分析一个URL
类URL提供一些查询URL对象的过程,可以用它们获取一个有效的URL对象所包含的协议、宿主名称、端口号和文件名。下面是这些过程的功能描述:

1) getProtocol( ),返回URL的协议辨识符组件。
(2) getHost(),返回URL的宿主名称组件。

(3) getPort(),返回URL的端口号组件;如果端口没有设置,返回-1;
(4) getFile(),返回URL的文件名组件。
(5) getRef(),返回URL的引用组件。
请注意;并非所有的URL地址都包含这些组件。类URL提供这些过程的原因是HTTP URL包含这些组件,而且它们可能是最常使用的URL。类URL在某种程序是以HTTP为中心的。可以使用这些getXXX()过程获取关于URL的信息,它们与创建URL对象的构造过程无关。
下面给出一个示例程序ParseURL,它由一个指定URL的字符串创建了一个URL对象,然后使用URL对象的存取过程分析URL;
import java.net.*;
class ParseURL{
public static void main(String[] args){
URL url = null;
try{
url = new URL(http://www.ncsa.uiuc.edu:8080/demoweb/urlprimer.html#INSTALL);
System.out.println(“protocol = “+ url.getProtocol());
System.out.println(“host =”+url.getHost());
System.out.println(“filename =”+url.getFile());
System.ou