1.URL类构造函数
URL类的构造方法主要有如下几种
URL(String spec):使用指定的字符串构建。
URL(String protocol, String host, int port, String file):使用指定的协议、主机名、端口号、文件名创建。
URL(String protocol, String host, String file):使用指定的协议、主机名、文件名创建。
URL(URL context, String spec):使用基地址和相对URL创建。
URL类的构造方法应用举例,其代码如下所示。
-
import
java.net.MalformedURLException;
-
import
java.net.URL;
-
public
class
Test
{
-
public
static
void
main(String
args[])
{
-
try
{
-
//创建URL
-
URL
url1
=
new
URL(
“http:
//www.sina.com.cn”
);
-
URL
url2
=
new
URL(
“http”
,
“www.263.net”
,
“index.html”
);
-
}
-
catch
(MalformedURLException
e)
{
//捕获MalformedURLException异常
-
e.printStackTrace();
-
}
-
}
-
}
分析:示例定义了类Test,Test包含一个main()方法。main()方法采用两种形式创建了URL类的实例url1和url2。需要注意的是,URL类的构造方法都会产生可控异常MalformedURLException,需要对其进行处理。
2.使用URL类方法
使用URL类的常用方法主要有如下几种。
String getAuthority():获得此URL的授权部分。
Object getContent():获得此URL的内容。
int getDefaultPort():获得与此URL关联协议的默认端口号。
String getFile():获得此URL的文件名。
String getHost():获得此URL的主机名(如果适用)。
String getPath():获得此URL的路径部分。
int getPort():获得此URL的端口号。
String getProtocol():获得此URL的协议名称。
String getQuery():获得此URL的查询部分。
String getRef():获得此URL的锚点(也称为”引用”)。
String getUserInfo():获得此URL的userInfo部分。
URLConnection openConnection():返回一个URLConnection对象,它表示到URL所引用的远程对象的连接。
InputStream openStream():打开到此URL的连接,并返回一个用于从该连接读入的InputStream。
boolean sameFile(URL other):比较两个URL,不包括片段部分。
protected void set(String protocol, String host, int port, String file, String ref):设置URL的字段。
static void setURLStreamHandlerFacto
ry(URLStreamHandlerFactory fac):设置应用程序的URLStreamHandlerFactory。
使用URL类获取相关网络资源信息的应用举例,其代码如下所示。
-
import
java.net.MalformedURLException;
-
import
java.net.URL;
-
public
class
Test
{
-
public
static
void
main(String
args[])
{
-
try
{
-
URL
url
=
new
URL(
“http://www.263.net/index.html”
);
-
//创建URL
-
System.out.println(
“协议:”
+
url.getProtocol());
//获得协议信息
-
System.out.println(
“端口:”
+
url.getPort());
//获得端口信息
-
System.out.println(
“主机:”
+
url.getHost());
//获得主机信息
-
System.out.println(
“文件:”
+
url.getFile());
//获得文件信息
-
}
-
catch
(MalformedURLException
e)
{
//捕获MalformedURLException异常
-
e.printStackTrace();
-
}
-
}
-
}
分析:示例定义了类Test,Test包含一个main()方法。main()方法首先以指定的URL地址创建了URL类的实例url。然后,分别调用getProtocol()、getPort()、getHost()、getFile()方法获取该URL的相关信息。另外,对URL类的构造方法产生的异常MalformedURLException进行了捕获。