java.net.URI
是 Java 标准库中的一个类,用于表示和处理统一资源标识符(URI)。URI
类提供了一种在 Java 程序中处理 URI 的标准方式。URI 是一个用来标识某个资源的字符串,通常用来表示网页地址、文件路径等。
URI
类简介
主要功能
- 表示 URI:
URI
类用于创建和操作 URI 对象,支持各种 URI 组成部分的访问和修改。 - 解析 URI:可以解析和处理 URI 的各个组成部分,如方案(scheme)、主机(host)、路径(path)等。
- 构造 URI:支持从字符串创建 URI 对象,并可以将 URI 对象转换回字符串。
主要构造函数
URI(String str)
:- 通过字符串创建 URI 对象。
- 示例:
URI uri = new URI("http://example.com/path/to/resource");
URI(String scheme, String host, String path, String query, String fragment)
:
- 使用指定的组成部分创建 URI 对象。
- 示例:
URI uri = new URI("http", "example.com", "/path/to/resource", "query=param", "fragment");
主要方法
getScheme()
:- 返回 URI 的方案部分(如
http
、https
、ftp
)。 - 示例:
- 返回 URI 的方案部分(如
String scheme = uri.getScheme(); // "http"
getHost()
:
- 返回 URI 的主机部分(如
example.com
)。 - 示例:
String host = uri.getHost(); // "example.com"
getPath()
:
- 返回 URI 的路径部分(如
/path/to/resource
)。 - 示例:
String path = uri.getPath(); // "/path/to/resource"
getQuery()
:
- 返回 URI 的查询部分(如
query=param
)。 - 示例:
String query = uri.getQuery(); // "query=param"
getFragment()
:
- 返回 URI 的片段部分(如
fragment
)。 - 示例:
String fragment = uri.getFragment(); // "fragment"
resolve(URI uri)
:
- 解析给定的 URI 相对于当前 URI,并返回一个新 URI。
- 示例:
URI baseUri = new URI("http://example.com/path/");
URI relativeUri = new URI("resource");
URI resolvedUri = baseUri.resolve(relativeUri); // "http://example.com/path/resource"
normalize()
:
- 规范化 URI,去掉冗余的部分(如
./
和../
)。 - 示例:
URI uri = new URI("http://example.com/path/../resource");
URI normalizedUri = uri.normalize(); // "http://example.com/resource"
toString()
:
- 返回 URI 对象的字符串表示形式。
- 示例:
String uriString = uri.toString(); // "http://example.com/path/to/resource"