列表4是URLDemo1的源代码。该程序从命令行参数建立了一个URL对象,调用URL组件提取方法来检索该URL的组件,调用URL的openStream()方法打开与资源的连接并返回一个用于从资源读取字节数据的InputStream引用,读取/打印这些字节,关闭输入流。

  列表4: URLDemo1.java

// 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.print ((char) ch);

is.close ();
}
}

  在命令行输入java URLDemo1 http://www.javajeff.com/articles/articles/html后,上面的代码的输出如下:

Authority = http://www.javajeff.com
Default port = 80
File = /articles/articles.html
Host = http://www.javajeff.com
Path = /articles/articles.html
Port = -1
Protocol = http
Query = null
Ref = null
User Info = null

<html>
<head>
<title>
Java Jeff - Articles
</title>

<meta http-equiv=Content-Type content="text/html;
charset=ISO-8859-1">
<meta name=author content="Jeff Friesen">
<meta name=keywords content="java, virtual machine">

<script language=JavaScript>
if (navigator.appName == "Netscape")
document.write ("<br>");
</script>
</head>

<body bgcolor=#000000>
<center>
<table border=1 cellpadding=5 cellspacing=0>
<tr>
<td>
<table cellpadding=0 cellspacing=0>
<tr>
<td>
<a href=informit/informit.html>
<img alt=InformIT border=0 src=informit.gif></a>
</td>
</tr>
</table>
</td>

<td align=middle>
<img src=title.gif><br>

<a href=../welcome/welcome.html>
<img alt="Welcome to Java Jeff!" border=0 src=jupiter.jpg>
</a><br>

<img src=../common/clear_dot.gif vspace=5><br>

<a href=../ads/ads.html>
<img alt="Welcome to Java Jeff!" border=0
src=jupiter.jpg>
</td>

<td>
<table cellpadding=0 cellspacing=0>
<tr>
<td>
<a href=javaworld/javaworld.html>
<img alt=JavaWorld border=0 src=javaworld.gif></a>
</td>
</tr>
</table>
</td>
</tr>
</table>
</center>

<br>
<font color=#ffffff>
<center>
Best viewed at a resolution of 1024x768 or higher.<br>

<img src=../common/clear_dot.gif vspace=5><br>

<i>
Copyright © 2001-2002, Jeff Friesen. All rights
reserved.
</i>

<p>
<a href=../index.html>
<img alt=Back border=0 src=../common/back.gif></a>
</center>
</font>
</body>
</html>


  在上面的信息中,输出标识符80是默认端口,HTTP是协议。上面给出的是输出的HTML页面的源代码。
posted on 2004-10-22 10:06  Johnny  阅读(468)  评论(0)    收藏  举报