【问题标题】:Utils to get path from URL从 URL 获取路径的实用程序
【发布时间】:2013-04-26 08:18:07
【问题描述】:

我需要获取域名后的路径。
例如:网址是https://vaadin.com:8080/wiki/-/wiki/Main/Authenticating+Vaadin-based+applications/pop_up
我想得到/wiki/-/wiki/Main/Authenticating+Vaadin-based+applications/pop_up。 java有没有Utils类可以快速做到这一点? 非常感谢!

【问题讨论】:

    标签: java url path


    【解决方案1】:

    你为什么不直接使用URL 类的getPath() 呢?看这里:

    http://docs.oracle.com/javase/6/docs/api/java/net/URL.html#getPath%28%29

    类 URL 代表一个统一资源定位器,一个指向 万维网上的“资源”。资源可以是 像文件或目录一样简单,也可以是对更多内容的引用 复杂的对象,例如对数据库或搜索的查询 引擎。有关 URL 类型及其格式的更多信息,请访问 发现于:

    http://www.socs.uts.edu.au/MosaicDocs-old/url-primer.html 
    

    一般来说,一个 URL 可以分成几个部分。以前的 URL 示例表示要使用的协议是 http(超文本 传输协议)并且信息驻留在主机上 命名为 www.socs.uts.edu.au。该主机上的信息是 命名为 /MosaicDocs-old/url-primer.html。这个名字的确切含义 在主机上既依赖于协议又依赖于主机。这 信息通常驻留在文件中,但可以在 苍蝇。 URL 的这个组件称为路径组件。

    【讨论】:

      【解决方案2】:

      正如@Yan Foto 所建议的,最好的方法是使用 java.net.URL 类。

      例子:

      URL url = new URL("https://vaadin.com:8080/wiki/-/wiki/Main/Authenticating+Vaadin-based+applications/pop_up");
      
      System.out.print("Path: " + url.getPath());
      

      它打印以下输出:

      Path: wiki/-/wiki/Main/Authenticating+Vaadin-based+applications/pop_up
      

      【讨论】:

      • +1 看起来有人否决了这个答案。不知道为什么。它通过有用的示例代码扩展了@Yan Foto 的答案。
      • 这是因为如果 url 的最后一部分是例如 test.html,那么如果调用 getPath() 就会包含它。
      猜你喜欢
      • 1970-01-01
      • 2023-03-22
      • 2014-09-15
      • 2021-12-07
      • 2011-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-24
      相关资源
      最近更新 更多