收藏 分享(赏)

Java网络编程 (2).doc

上传人:dreamzhangning 文档编号:2277570 上传时间:2018-09-09 格式:DOC 页数:6 大小:47KB
下载 相关 举报
Java网络编程 (2).doc_第1页
第1页 / 共6页
Java网络编程 (2).doc_第2页
第2页 / 共6页
Java网络编程 (2).doc_第3页
第3页 / 共6页
Java网络编程 (2).doc_第4页
第4页 / 共6页
Java网络编程 (2).doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、Java 网络编程 (2) 作者:刘晓华 发文时间:2004.11.22URL 和 URLConnection 类 URL 是 Uniform Resource Locator(统一资源定位器)的缩写。在 WWW 风行后,以 URL 表示 Internet 上各种数据资源的位置,已经成为一种标准的方式。为了处理方便,Java 将 URL 封装成 URL 类, 我们可以用一个 URL 对象记录下完整的URL 信息。 URL 类为我们提供了不同的构造方法: public URL(String spec)这个构造方法用指定的 URL 来创建一个 URL 对象,比如: try URL rul=new

2、URL(“http:/ e) public URL(String protocol,String host,int port,String file) 该构造方法用指定的协议、主机名、端口号、文件路径及文件名创建一个 URL 对象,记住 file 变量必须以下划线开始。比如我们要表示URL:http:/:80/local/searchresult.html则可以这样表示: try URL url=new URL(“http“,““,80,“/local/searchresult.html“);catch(MalformedURLException e) public URL(String pr

3、otocol, String host, String file)该构造方法用指定的协议、主机名、路径及文件名创建 URL 对象。 public URL( URL contoxt, String spec)该构造方法用已存在的 URL 对象 context 创建 URL 对象。示例如下: tryURL base=new URL(“http:/:80/x-file/1112.html“);URL loc=new URL(base , “#change“);catch(MalformedURLException e) URL 类中一些很基本的方法如下: public final Obect get

4、Content() 这个方法取得传输协议。 public String getFile() 这个方法取得资源的文件名。 public String getHost() 这个方法取得机器的名称。 public int getPort() 这个方法取得端口号。 public String getProtocol() 这个方法取得传输协议。 public String toString() 这个方法把 URL 转化为字符串。 1 实例:URL 对象的创建及使用 下面我们举例介绍 URL 对象的创建及使用,见示例 12-3。【程序源代码】 1 / = Program Description =2 /

5、程序名称:示例 12-3: Myurl.java3 / 程序目的:熟悉 URL 对象的创建及使用4 / =5 import . *;6 import java.io.*;78 class Myurl9 10 public static void main(String args)11 12 try 13 URL url=new URL(“http:/ System.out.println(“the Protocol: “+url.getProtocol();15 System.out.println(“the hostname: “ +url.getHost();16 System.out.p

6、rintln(“the port: “+url.getPort();17 System.out.println(“the file:“+url.getFile();18 System.out.println(url.toString();19 20 catch(MalformedURLException e) 21 System.out.println(e);22 23 24 【程序输出结果】 the Protocol: httpthe hostname: the port: -1the file:/chn/index.htmhttp:/ 在第 13 行先实例化一个 URL 对象 url,然后

7、在第 1418 行分别调用了 URL 对象的一些基本方法:getProtocol() 、getHost() 、getPort()和 getFile(),分别取得了与URL 相应的协议、主机名、端口和文件。如果 URL 地址不对,在第 21 行抛出MalformedURLException 异常。 URLConnection 是一个抽象类,代表与 URL 指定的数据源的动态连接,URLConnection 类提供比 URL 类更强的服务器交互控制。URLConnection 允许用POST 或 PUT 和其他 HTTP 请求方法将数据送回服务器。在 包中只有抽象的 URLConnection

8、类,其中的许多方法和字段与单个构造器一样是受保护的,这些方法只可以被 URLConnection 类及其子类访问。 使用 URLConnection 对象的一般方法如下:(1)创建一个 URL 对象。 (2)调用 URL 对象的 openConnection()方法创建这个 URL 的 URLConnection 对象。(3)配置 URLConnection。(4)读首部字段。(5)获取输入流并读数据。(6)获取输出流并写数据。(7)关闭连接。 当然我们并不需要完成所有这些步骤。比如我们可以接受 URL 类的默认设置,则可以不设置 URLConnection;还有我们有时仅仅需要从服务器读取数

9、据,并不需要向服务器发送数据,则我们就可以省去获取输出流并写数据这一步。 当创建 URLConnection 对象后,我们可以使用 URLConnection 对象的操作方法: public int getContentLength() 获得文件的长度。 public String getContentType() 获得文件的类型。 public long getDate() 获得文件创建的时间。 public long getLastModified() 获得文件最后修改的时间。 public InputStream getInputStream() 获得输入流,以便读取文件的数据。 如果

10、URL 类的构造函数的参数有问题,比如字符内容不符合 URL 位置表示法的规定、指定的传输协议不是 Java 所能接受时,那么构造函数就会抛出MalformedURLException 异常,这时一定要用 try 和 catch 语句处理。 2 实例:使用 URLConnection 从 Web 服务器读取文件 接下来,我们用上面的方法从 Web 服务器上读取文件的信息,将文件的信息打印到屏幕。见示例 12-4。【程序源代码】 1 / = Program Description =2 / 程序名称:示例 12-4: URLDemo .java3 / 程序目的:URLConnection 类的用

11、法4/=5 import java.io.*;6 import .*;7 import java.util.Date;89 class URLDemo10 11 public static void main(String args) throws Exception12 13 System.out.println(“starting“);14 int c;15 URL url=new URL(“http:/“);16 URLConnection urlcon=url.openConnection();17 System.out.println(“the date is :“+new Date

12、(urlcon.getDate();18 System.out.println(“content_type :“+urlcon.getContentType();19 InputStream in=rulcon.getInputStream();20 while (c=in.read()!=-1)21 22 System.out.print(char)c);23 24 in.close();25 26 【程序输出结果】 startingthe date is :Thu Mar 27 00:00:13 CST 2003content_type :text/html/网页文件内容/【程序注解】 在

13、第 15 行中我们实例化了一个 URL,接着就通过调用 URL 对象的openConnection()方法返回一个 URLConnection 类的对象 urlcon。然后就分别调用了URLConnectin 类的常用方法,返回了 URL 的一些基本信息。这些方法是:getDate()返回日期,getContentType() 返回文件类型 text/html,getInputStream()获得输入流,然后通过输入流取得文件(in.read()),并在标准输出上输出(System.out.println()),我们看到的是一个网页源代码文件。在 IE 中我们可以查看源代码文件,其实就是通过这种方法实现的。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报