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