当前位置:首页 > 全部子站 > IT > 思科认证

模拟试题:Java网络编程之URI、URL研究专题五

来源:长理培训发布时间:2017-12-19 10:34:20

 百度广告

在专题的上篇java网络编程之uri、url研究专题中我们介绍了uri、url的慨念和体系结构,以及如何使用uri在中我将继续向大家介绍如何使用url和mime(多用途的网际邮件扩充协议)的概念以及它如何与url发生联系的。

使用url

网络api通过提供url类让我们能在源代码层使用url。每一个url对象都封装了资源的标识符和协议处理程序。前面的技巧显示了获得url对象的途径之一是调用uri对象的tourl()方法。但是这种选择不一定方便(为什么在需要url对象的时候必须建立uri对象呢?)。

作为代替,你可以调用url构造函数来建立url对象。你也可以调用url的方法来提取url的组件,打开一个输入流(input stream)从资源中读取信息,获得某个能方便检索资源数据的对象的引用,比较两个url对象中的url,获得到资源的连接对象,该连接对象允许代码了解(并写入)更多的资源的信息。

url类有六个构造函数。其中最简单的是url(string url),它有一个string类型的参数,把url分解为自己的组件,并把这些组件存储在一个新的url对象中。如果某个url没有包含协议处理程序或该url的协议是未知的,其它的五个构造函数会产生一个java.net.malformedurlexception对象。

下面的代码片断演示了使用url(string url)建立一个url对象,该对象封装了一个简单的url组件和http协议处理程序。

url url = new url ('http://www.informit.com');

一旦拥有了url对象,你就可以使用getauthority()、getdefaultport()、 getfile()、 gethost()、 getpath()、getport()、 getprotocol()、getquery()、getref()和getuserinfo(). the getdefaultport()等方法提取各种组件。如果url中没有指定端口的部分,getdefaultport()方法返回url对象的协议处理程序使用(资源定位)的默认端口。

getfile()方法返回路径和查询组件的结合体。getprotocol()方法返回决定资源的连接类型(例如http、mailto、ftp)的协议的名称。getref()方法返回url的部分片断(我们所知道的引用)。最后,getuserinfo()方法返回授权机构组件的用户信息部分。

在这些url组件提取方法中,如果某些组件不存在(如果没有给url对象的协议处理程序指定默认的端口,它也返回-1),这些方法就返回null或-1。

作为这些组件提取方法的补充,你还可以调用openstream()方法检索java.io.inputstream引用。使用这种引用,你可以用面向字节的方式读取资源。

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

列表4: urldemo1.java

// urldemo1.java

import java.io.*;

import java.net.*;

class urldemo1

{

ublic static void main (string  args) throws ioexception

{

if (args.length != 1)

{

system.err.println ('usage: java urldemo1 url');

return;

责编:罗莉

发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

国家电网校园招聘考试直播课程通关班

  • 讲师:刘萍萍 / 谢楠
  • 课时:160h
  • 价格 4580

特色双名师解密新课程高频考点,送国家电网教材讲义,助力一次通关

配套通关班送国网在线题库一套

课程专业名称
讲师
课时
查看课程

国家电网招聘考试录播视频课程

  • 讲师:崔莹莹 / 刘萍萍
  • 课时:180h
  • 价格 3580

特色解密新课程高频考点,免费学习,助力一次通关

配套全套国网视频课程免费学习

课程专业名称
讲师
课时
查看课程
在线题库
面授课程更多>>
图书商城更多>>
在线报名
  • 报考专业:
    *(必填)
  • 姓名:
    *(必填)
  • 手机号码:
    *(必填)
返回顶部