Java URL:获取 URL 对象的根(删除路径)

有没有办法从给定的URL.


所以我的意思是,我想删除路径 url 段。


URL aURL = new URL("http://example.com:80/docs/books/tutorial"

                       + "/index.html?name=networking#DOWNLOADING");

我一直在玩这个:


System.out.println("protocol = " + aURL.getProtocol());

System.out.println("authority = " + aURL.getAuthority());

System.out.println("host = " + aURL.getHost());

System.out.println("port = " + aURL.getPort());

System.out.println("path = " + aURL.getPath());

System.out.println("query = " + aURL.getQuery());

System.out.println("filename = " + aURL.getFile());

System.out.println("ref = " + aURL.getRef());

输出是:


protocol = http

authority = example.com:80

host = example.com

port = 80

path = /docs/books/tutorial/index.html

query = name=networking

filename = /docs/books/tutorial/index.html?name=networking

ref = DOWNLOADING

我想得到的是一个新URL对象http://example.com:8080


有任何想法吗?


狐的传说
浏览 152回答 2
2回答

翻阅古今

我找到了更短的方法来维护除路径部分以外的所有内容,使用URI.resolve().URL url = new URL("http://example.com:8081/api/test");System.out.println(url)// prints "http://example.com:8081/api/test"URL urlNoPath = url.resolve("/");System.out.println(url)// prints "http://example.com:8081/"

子衿沉夜

只需使用URL构造函数来构建一个新的 URL。URL newUrl = new URL(aURL.getProtocol(), aURL.getHost(), 8080, "/");
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java