网站首页

家园论坛

老版论坛

家园博客

业界新闻

技术文档

下载中心

速查中心

图片中心

硬件资讯
上一篇:JAVA教程 第七讲 Swing用户界面设计(二) 下一篇:JAVA教程 第八讲 Java网络编程(二)
JAVA教程 第八讲 Java网络编程(一)

来源: 作者: 添加日期:2005-9-4 19:19:56 点击次数:

     URL gamelan=new URL("http", "www.gamelan.com", 80, "Pages/Gamelan.network.html");

  注意:类URL的构造方法都声明抛弃非运行时例外(MalformedURLException),因此生成URL对象时,我们必须要对这一例外进行处理,通常是用try-catch语句进行捕获。格式如下:

  try{
     URL myURL= new URL(…)
  }catch (MalformedURLException e){
  …
  //exception handler code here
  …
  }

 

8.2.4 解析一个URL

  一个URL对象生成后,其属性是不能被改变的,但是我们可以通过类URL所提供的方法来获取这些属性:
   public String getProtocol() 获取该URL的协议名。
   public String getHost() 获取该URL的主机名。
   public int getPort() 获取该URL的端口号,如果没有设置端口,返回-1。
   public String getFile() 获取该URL的文件名。
   public String getRef() 获取该URL在文件中的相对位置。
   public String getQuery() 获取该URL的查询信息。
   public String getPath() 获取该URL的路径
   public String getAuthority() 获取该URL的权限信息
   public String getUserInfo() 获得使用者的信息
   public String getRef() 获得该URL的锚


  下面的例子中,我们生成一个URL对象,并获取它的各个属性。

  import java.net.*;
  import java.io.*;

  public class ParseURL{
  public static void main (String [] args) throws Exception{

  URL Aurl=new URL("http://java.sun.com:80/docs/books/");
  URL tuto=new URL(Aurl,"tutorial.intro.html#DOWNLOADING");
  System.out.println("protocol="+ tuto.getProtocol());
  System.out.println("host ="+ tuto.getHost());
  System.out.println("filename="+ tuto.getFile());
  System.out.println("port="+ tuto.getPort());
  System.out.println("ref="+tuto.getRef());
  System.out.println("query="+tuto.getQuery());
  System.out.println("path="+tuto.getPath());
  System.out.println("UserInfo="+tuto.getUserInfo());
  System.out.println("Authority="+tuto.getAuthority());
  }
  }

  执行结果为:
   protocol=http host =java.sun.com filename=/docs/books/tutorial.intro.html
   port=80
   ref=DOWNLOADING
   query=null
   path=/docs/books/tutorial.intro.html
   UserInfo=null
   Authority=java.sun.com:80

8.2.5 从URL读取WWW网络资源

  当我们得到一个URL对象后,就可以通过它读取指定的WWW资源。这时我们将使用URL的方法openStream(),其定义为:
         InputStream openStream();
  
  方法openSteam()与指定的URL建立连接并返回InputStream类的对象以从这一连接中读取数据。
  public class URLReader {
  public static void main(String[] args) throws Exception {
                      //声明抛出所有例外

    URL tirc = new URL("http://www.tirc1.cs.tsinghua.edu.cn/");
                      //构建一URL对象

    BufferedReader in = new BufferedReader(new InputStreamReader(tirc.openStream()));
    //使用openStream得到一输入流并由此构造一个BufferedReader对象
    String inputLine;
    while ((inputLine = in.readLine()) != null)
                 //从输入流不断的读数据,直到读完为止

       System.out.println(inputLine); //把读入的数据打印到屏幕上
    in.close(); //关闭输入流

本新闻共4页,当前在第3页  1  2  3  4  

 
设为首页 | 加入收藏 | 业务办理 | 友情链接 | 论坛版面 | 浙ICP备07502118号 |