Java URL与URLConnection
本文最后更新于:2024年3月18日 凌晨
Java URL与URLConnection
- 在Internet上的所有网络资源都是用URL(Uniform Resource Locator)来表示的,一个URL地址通常由4部分组成,包括协议名,主机名,路径文件,端口号,例如华东交通大学Java课程的网上教学地址为http://cai.ecjtu.jx.cn:80/java/index.html
URL类
- 使用URL进行网络通信,就要使用URL类创建对象,利用该对象提供的方法获取网络数据流,从而读取来自URL的网络数据,URL类安排在
java.net
包中,以下为URL的几个构造方法及说明:URL(String protocol,String host, int port,String path)
:其中,protocol是协议的类型,可以是http,ftp,file等,host是主机名,port是端口号,path给出文件名或路径名。URL(String protocol,String host,String path)
:参数含义与上相同,使用协议默认端口号。URL(URL url,String path)
:利用给定url中的协议,主机,加上path指定的相对路径拼接新URLURL(String url)
:使用URL字符串构造一个URL类。
- 如果URL信息错误将产生
MalformedURLException
异常,在构造完一个URL类后,可以使用URL类中的openStream()
方法与服务器上的文件建立一个流的连接,但是这个流是输入流(InputStream),只能读而不能写。 - URL类提供的典型方法如下:
String getFile()
:取得URL的文件名,它是带路径的文件标识。String getHost()
:取得URl的主机名。String getPath()
:取得URL的路径部分。int getPort()
:取得URL的路径部分。URLConnection openConnection()
:返回代表与URL进行连接的URLConnection
对象。InputStream openStream()
:打开与URL的连接,返回来自连接的输入流。Object getContent()
:获得URL的内容。
[例16-5]:通过流操作读取URL访问结果。
- 以下程序读取网上某个URL的访问结果,将结果数据写入到某个文本文件中或者在显示屏上显示,取决于运行程序时是否提供写入的文件。
- 运行程序时第1个参数指定URL地址,第2个参数可以省去,如果有该参数则表示存放结果的文件名。
1 |
|
URLConnection类
- 前面介绍的URL访问只能读取URL数据源的数据,实际应用中,有时需要与URL资源进行双向通信,则要用到
URLConnection
类。 URLConnection
类将创建一个对指定URL的连接对象,其构造方法是URLConnection
(URL),当构建URLConnection
对象并未建立与指定URL的连接,还必须使用URLConnection
类中的connect()
方法建立连接。- 另一种与URL建立双向连接的方法是使用URL类中的
openConnection()
方法,它返回建立好连接的URLConnection
对象。 - URLConnection类的几个主要方法如下:
void connect()
:打开URL所指资源的通信链路。int getContentLenght()
:返回URL的内容长度值。InputStream getInputStream()
:返回来自连接的输入流。OutputStream getOutputStream()
:返回写往连接的输出流。
[例16-6]:下载指定的URL文件。
1 |
|
运行示例
1 |
|
- 在e盘的java子目录下可以找到下载的文件dots.gif
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!