大家好,最近在用java做从xhtml页面文档中提取有关RDF数据的东西。现在从href等属性中可以得到很多URL,同时假设也能得到基地址(base),现在想要判断得到的URL是否是相对路径,从而将它们与base结合产生绝对路径。因为我需要的都是绝对路径。请问一下在java中如何判断呢,有没有可用的接口或者包呢。总不能根据协议中相对路径和绝对路径的定义再写一个判断函数吧。

解决方案 »

  1.   

    绝对路径中会有:\字样
    如果在LINUX也简单..系统文件夹就那么几个...
    简单的字符串处理
      

  2.   

    答:不明白你的问题。URL本身有相对URL还是绝对URL。你是问这个吗?
    若不是:难道是想问URL中path部分是相对还是绝对吗?这不对啊。path等等没有这个说法啊,它只是一个
    虚拟路径”啊(一个MAPPING啊)
    不明白你的问题
      

  3.   

    同意,首先应该生成的是一个包含所有的url的数组,然后循环判断每一个url中是否包含://或者:\
      

  4.   

    可以利用异常,如果请求的URL不正确的话,就会抛出异常。你只要捕获就可以了
      

  5.   

    大家好,首先谢谢大家的回答,我可能没有把问题说清楚,现在举例如下。因为我要从网络上或者本地上获得XHTML页面文档,因此假设我已经得到了一个URL,这个URL可能是这样的,如果是本地的,可能是这样的:"C:/document/a.jpg" 也可能是这样的"a.jpg"(这是相对路径)。如果是网络上的,可能是这样的:"http://jdiwg.com", "[email protected]",或者是“people/a.jpg"(这是相对路径)。可能还有别的情况,现在就是对某一个URL判断是否是相对的还是绝对的,而是否是网络的还是本地的则不要判断。
      

  6.   

    答:原来是这样。则我有一个想法:根据URI的构成规定(URL是它的子集),由两部分构成:<Schema>:<特定于本schema的子串>。因此:只要直接判有没有字符 就行了。有:是绝对,没有是相对。
    如:C:/document/a.jpg(绝对)
      /document/a.jpg(相对,若是本地,则是相对当前盘,若是URL,则是相对当前的WEB SERVER)
      http://jdiwg.com(绝对)
      mailto:[email protected](绝对)
      people/a.jpg(相对)
      ftp://ftp.abc.com(绝对)以上仅供你参考
      

  7.   

    谢谢了,我可能关于URL的构成没有看懂,对于各种之间的情况没有看出共性来。呵呵。