我有一个用例,其中我必须解析一个相对URL,例如../x/y/z.txtw.r.t。到http://example.net/d/e/h.xml之类的绝对网址。
我看的最终结果是http://example.com/d/x/y/z.txt。但如果是相对网址,例如../../../../../../../../../../../x/y/z.txt,则需要的网址应该是http://example.com/x/y/z.txt。这意味着即使主机名过多,我也应该停止导航。我可以使用一些标准的字符串操作对此进行编码。但是想知道是否有任何Java类可以帮助我解决这种用例。我不确定字符串操作是解决此问题的最有效方法。
我使用Java.net软件包解决了这个问题。 URI方法具有resolve()
方法,可帮助解析相对URL。