Java Network Programming 笔记(3)

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

Java Network Programming 笔记

n5

三 利用URL类获取数据

chapter 7 Retrieving Data with URLs

1 建立URL对象

当JVM不支持url的协议时抛出MalformedURLException

(1)public URL(String url) throws MalformedURLException

(2)public URL(String protocol, String hostname, String file) throws MalformedURLException

此构造器设置port为-1,所以协议的默认端口将被使用。

file参数应该以"/"开始,包含一个路径,文件名,和一个可选的锚点

例如: URL u = new URL("http","www.eff.org","/blueribbon.html#intro") ;

(3)public URL(String protocol,String host, int port, String file) throws MalformedURLException

可以指定端口,其他和第二个构造器相同

(4)public URL(URL base,String relative) throws MalformedURLException

从一个相对的URL地址和一个base URL对象创建一个绝对URL对象

例如:

try{

URL u1 = new URL("http://www.myweb.com/java/index.html") ;

URL u2 = new URL(u1,"test.html") ;

}

catch(MalformedURLException e){}

去掉u1的文件名,然后加上新文件名test.html,就构成了u2

2得到URL的组成

getFile() 返回总的路径(并非文件名)即为URL中从第一个"/"开始到"#"为止的内容。如果没有file部分,java1.3返回一个空字符串,java1.1,1.2返回"/"

getHost() 返回主机名,不包含user:user这样的用户信息

getPort() 如果URL中没指定端口,则返回-1

getProtocol()

getRef() 返回指定的锚点,如果没有锚点返回null

//since java1.3

getQuery()

getPath() 和getFile()完全相同

getUserInfo()

getAuthority()

3 从URL得到数据

(1) public final InputStream openStream() throws IOException

打开URL,得到一个InputStream得到数据

(2) public URLConnection openConnection() throws IOException

打开URL,得到一个URLConnection对象,URLConnection对象表示网络资源的一个开放连接。当想要直接与服务器通讯时可使用该方法。URLConnection可以得到服务器发送的任何东西,而不仅仅是文档本身。而且还可以写数据。

(3) public final Object getContent() throws IOException

将从URL下载来的数据看作一个对象,比如图片,文本,声音,或一个InputStream对于不能理解的对象。可以用instance of判断到底是哪种对象,并cast为该对象。

(4) public final Object getContent(Class[] classes) throws IOException //java1.3

可指定哪些种类的class被返回。该方法按照classes数组的顺序依次尝试返回内容。

4 工具方法

public boolean sameFile(URL other)

测试两个URL是否指向同一个文件。

public String toExternalForm()

返回一个人类可读的String表示URL,和toString()方法等同。因此不常用这个方法。

5 public boolean equals(Object o)

相等的含义:Object o也是一个URL对象,两个URL都指向同一个file(sameFile()定义的),并且两个URL有相同的引用或都是null。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航