代码之家  ›  专栏  ›  技术社区  ›  Edward Dale

commons-httpclient-3.1中的uriutil.encodepath怎么了?

  •  9
  • Edward Dale  · 技术社区  · 16 年前

    我想做有问题的事情 724043 ,即对uri的路径组件进行编码。建议的课程是 URIUtil 来自commons httpclient 3.1。不幸的是,这个类似乎已经从httpclient的最新版本中消失了。httpclient 4.1中一个类似的类, URIUtils ,不提供相同的功能。这个类/方法是否被移到了我不知道的其他库中,或者它刚刚消失?我最好把3.1版本中的类复制到我的代码中,还是有更简单的方法?

    1 回复  |  直到 10 年前
        1
  •  8
  •   Thilo    16 年前

    模块的维护人员已经下令 you should use the standard JDK 改为uri类:

    URI和URIUTILS被标准Java URI替换的原因 很简单:没有人愿意维持这些课程。

    有许多实用方法可以帮助解决各种问题 java.net.uri实现有问题,但标准 JRE类应该足够了,不是吗?

    因此,最简单的方法是查看3.1版本中encodePath的源代码,并在自己的代码中复制它的功能(或者只是将方法/类复制到代码库中)。

    或者你可以在你提到的问题上给出接受的答案(但你似乎必须先将url分成几个部分):

    new URI(
        "http", 
        "search.barnesandnoble.com", 
        "/booksearch/first book.pdf",
        null).toString();
    
    推荐文章