来自commons-httpclient-3.1的URIUtil.encodePath发生了什么?

我想做问题724043中描述的内容 ,即编码URI的路径组件。 建议这样做的是来自Commons HttpClient 3.1的URIUtil 。 不幸的是,这个类似乎已经从最新版本的HttpClient中消失了。 来自HttpClient 4.1的类似命名的类URIUtils不提供相同的function。 这个类/方法是否被移动到我不知道的其他库或者它刚刚消失了? 我最好只将3.1版本中的类复制到我的代码中,还是有更简单的方法?

模块的维护者已经下令你应该使用标准的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();