龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

Java网络编程的学习笔记(二)

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
第二部分 用URL检索数据 一.URL类 Java程序定位和检索网络上的数据最简单的方法是使用URL类。 Java.net.URL类是对统一资源定位符的抽象。URL对象建立后,它的字段就不再改变。 构造jav

  第二部分 用URL检索数据
  
  一.URL类
  
  Java程序定位和检索网络上的数据最简单的方法是使用URL类。
  
  Java.net.URL类是对统一资源定位符的抽象。URL对象建立后,它的字段就不再改变。
  
  构造java.net.URL实例的六个构造器:
  
  1) 用字符串构造URL
  
  public URL(String url) throws MalformedURLException
  
  2)用组件构造URL
  
  public URL(String protocol,String hostname,String file) throws MalformedURLException
  
  这个构造器将端口设置为-1,所以协议的所有默认端口都可以用。
  
  3)用组件构造URL
  
  public URL(String protocol,String host,int port,String file) throws MalformedURLException
  
  对于默认端口不正确的极少见情况,这个构造器可以明确地用int变量指定端口
  
  4) 构造相对URL
  
  public URL(URL base,String relative) throws MalformedURLException
  
  这个构造器根据相对URL和基本URL构造绝对URL
  
  例如:
  
  try
  
  {
  
   URL u1=new URL(“http://metalab.unc.edu/javafaq/index.Html”);
  
   URL u2=new URL(u1,”mailinglists.HTML”);
  
  }
  
  catch (MalformedURLException e)
  
  {
  
   System.err.println(e);
  
  }
  
  5) 指定URLStreamHandler
  
  public URL(URL base,String relative,URLStreamHandler handler) throws MalformedURLException
  
  这个构造器由一个基本URL和相对part构建一个相对URL,然后用指定的处理器处理URL
  
  6) 指定URLStreamHandler
  
  public URL(String protocol,String host,int port,String file,URLStreamHandler handler) throws MalformedURLException
  
  这个构造器从它的组件部分构建URL,然后用指定的处理器处理URL。
  
  
  
  除了这些构造器,Java类库中还有许多其他方法返回URL对象。其中大多数只是简单的获取方法,只返回用户可能已经知道的URL,因为用户已经首先用它来创建对象。
  
  
  
  二.分解URL
  
  URL可以认为是由五部分组成的:
  
  1) 策略(scheme),也可以认为是协议
  
  2) 权限
  
  权限可以进一步分为用户信息、主机和端口。
  
  3) 路径
  
  4) 参考(ref),也称为节(section)或者已命名锚(named anchor)
  
  5) 查询字符串
  
  
  
  以只读方式访问URL这五部分的公共方法:
  
  1) public String getProtocol()
  
  getProtocol()方法返回一个String,包含URL的策略:比如:”http”,”https”,”file”等等。
  
  2) public String getHost()
  
  getHost()方法返回一个String,包含URL的主机名。
  
  3) public int getPort()
  
  getPort()方法返回端口号,该数值是一个在URL中指定的int。假如在URL中没有指定端口,那么getPort()方法返回-1,标志着URL没有明确指定端口,同时使用协议的默认端口。
  
  4) public String getFile()
  
  getFile()方法返回一个String,其中包含URL的路径和文件部分。从主机名后的第一个“/”开始,到另起一部分的“#”之前的符号,全部认为是文件部分。
  
  5) public String getPath()
  
  它与getFile()方法意义相同。
  
  6) public String getRef()
  
  getRef()返回URL的命名锚部分。假如URL没有一个已命名的锚,那么这个方法返回null。
  
  例如:
  
  try
  
  {
  
   URL u=new URL(“http://metalab.unc.edu/javafaq/javafaq.HTML#xtocid1902914”);
  
精彩图集

赞助商链接