14.2.3 URLConnection类

14.2.3 URLConnection类

使用URL类可以很简便地获得信息,但是如果在获取信息的同时还能够向远程的计算机节点传送信息,这就需要使用系统中的URLConnection类。URLConnection类支持URL连接的输入/输出流方式的通信,并可以获得URL对象资源的相关信息,它是一个抽象类,是所有表示应用程序和URL连接通信的所有类的父类。该类的对象可以用来输入/输出(或称读/写)URL对象所表示的Internet上的数据。

1.构造方法

URLConnection(URL url)

创建参数为url的URLConnection对象。

2.常用方法

public URLConnection openConnection()throws IOException

创建URLConnection对象。

public Object getContent()throws IOException

获取资源内容。

public int getContentLength()throws IOException

获取资源信息的长度。

public int getContentType()throws IOException

获取资源信息的类型。

public long getLastModified()

获取资源的最后修改时间。

public InputStream getInputStream()throws IOException

获取一个输入流。

public outputStream getOutputStream()throws IOException

获取一个输出流。

3.使用URLConnection类进行网络通信的步骤如下:

1)创建URLConnection类对象

创建URLConnection类对象分为两步完成:第一步是创建一个URL对象;第二步是调用该对象的OpenConnection()方法,返回一个对应其URL地址的URLConnection对象。

例如下面的程序段首先生成一个指向地址http://edu.chinaren.com/index.html的对象,然后用openConnection()打开该URL对象上的一个连接,返回一个URLConnection对象。如果连接过程失败,将产生IOException.。

img615

img616

2)建立输入/输出数据流

读取或写入远程的计算机节点的信息时,首先要建立输入或输出数据流,利用URLConnection类的成员方法getInput Stream()和getOutputStream()来获取它的输入/输出数据流。

3)读取远程计算机节点的信息或向其写入信息

读取远程计算机节点的信息时,调用in.readLine()方法;而向远程计算机节点写入信息时,调用out.println(参数)方法。

出于安全的考虑,Java程序只能对特定的URL进行写操作,这种URL就是服务器上的CGI程序。