技术中心

这里象征着我们的态度和能力

>基于URL的高层次Java网络编程
作者:中国IT实验室    来源:中国IT实验室    发布时间:2012-01-01      浏览次数:6022
分享到:
欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入
    8.2.1一致资源定位器URL
    URL(Uniform Resource Locator)是一致资源定位器的简称,它表示Internet上某一资源的地址。通过URL我们可以访问Internet上的各种网络资源,比如最常见的WWW,FTP站点。浏览器通过解析给定的URL可以在网络上查找相应的文件或其他资源。
    8.2.2 URL的组成
    protocol://resourceName
    协议名(protocol)指明获取资源所使用的传输协议,如http、ftp、gopher、file等,资源名(resourceName)则应该是资源的完整地址,包括主机名、端口号、文件名或文件内部的一个引用。例如:
    http://www.sun.com/ 协议名://主机名
    http://home.netscape.com/home/welcome.html 协议名://机器名+文件名
    http://www.gamelan.com:80/Gamelan/network.html#BOTTOM 协议名://机器名+端口号+文件名+内部引用。
    8.2.3 创建一个URL
    为了表示URL, java.net中实现了类URL。我们可以通过下面的构造方法来初始化一个URL对象:
    (1) public URL (String spec);
    通过一个表示URL地址的字符串可以构造一个URL对象。
    URL urlBase=new URL("http://www. 263.net/")
    (2) public URL(URL context, String spec);
    通过基URL和相对URL构造一个URL对象。
    URL net263=new URL ("http://www.263.net/");
    URL index263=new URL(net263, "index.html")
    (3) public URL(String protocol, String host, String file);
    new URL("http", "www.gamelan.com", "/pages/Gamelan.net. html");
    (4) public URL(String protocol, String host, int port, String file);
    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){
    …  }
    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的锚
    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(); //关闭输入流
    }
    }

[1] [2] 下一页

4000-880-989
(24小时热线)
联系客服
微信公众号

官方公众号

小程序

©2008-2022 CORPORATION ALL Rights Reserved. 昆明奥远科技有限公司版权所有 滇ICP备09003328号-1 滇公网安备 53011102000818号 增值电信业务经营许可证号:滇B2-20110045
昆明那家网络公司好,新媒体运营,网站优化,网络推广,网站建设,网页设计,网站设计,网站推广,云南网站公司,昆明新媒体公司,云南网红主播,昆明SEO公司,昆明网站建设,昆明网络推广,昆明网站优化,昆明网站推广,红河网站建设,大理网络公司,曲靖网络公司,丽江网站设计,昭通网络公司,保山大数据服务,智慧高速建设,智慧校园服务,云南IDC服务商,网络安全测评,等保测评,网站关键词排名优化服务,服务客户尽超2000余家,一切尽在奥远科技,服务电话:13888956730