使用URL
每一个URL对象都封装了资源的标识符合协议处理程序。获得URL对象的途径之一是调用URI对象的toURI()方法。当然也可以通过URL构造函数来建议URL对象。
URL url = new URL("http://www.informit.com");一旦拥有了URL对象,你就可以使用getAutoority()、
getDefaultPort()返回URL对象的协议处理程序使用资源定位的默认端口
、getFile()返回路径和查询组建的结合体
、getHost()、getPath()、getPort()
、getProtocol()返回决定资源的连接类型(如http、mailto、ftp)的协议名称
、getQuery()、getRef()
、getUserInfo()返回授权机构组件的用户信息部分.
在这些组件中如果某些组组件不存在,这些方法就返回null或者-1。
例子:调用 URL 的 openStream()方法打开与资源的连接并返回一个用于从资源读取字节数
据的 InputStream 引用,读取/打印这 些字节,关闭输入流
URLDemo1.java
import java.io.*;
import java.net.*;
class URLDemo1
{
public static void main(String[] args) throws IOException
{
if(args.length != 1)
{
System.err.println("usage:java URLDemo1 url");
return;
}
URL url = new URL(args[0]);
System.out.println ("Authority = "+ url.getAuthority ());
System.out.println ("Default port = " +url.getDefaultPort ());
System.out.println ("File = " +url.getFile ());
System.out.println ("Host = " +url.getHost ());
System.out.println ("Path = " +url.getPath ());
System.out.println ("Port = " +url.getPort ());
System.out.println ("Protocol = " +url.getProtocol ());
System.out.println ("Query = " +url.getQuery ());
System.out.println ("Ref = " +url.getRef ());
System.out.println ("User Info = " +url.getUserInfo ());
System.out.print ('/n');
InputStream is = url.openStream();
int ch;
while((ch = is.read()) != -1)
{
System.out.println((char)ch);
}
}
}
URL 的 openStream()方法通常返回抽象的 InputStream 类的一个具体的子类所建立的对象的引 用。这意味
着你必须按字节次序读取资源数据,这种做法是恰当的,因为你不知道将要读取的数据是什么类型的。如果
你事先知道要读取的数据是文本的,并且每一 行以换行符(/n)结束,你就可以按行读取而不是按字节读取
数据了
使用URL
最新推荐文章于 2022-02-27 10:37:59 发布