The URI class is an immutable representation of a
Uniform Resource Identifier or URI. A
URI is a generalization of the URLs or Uniform Resource Locators used
on the world wide web. The URI supports parsing
and textual manipulation of URI strings, but does not have any direct
networking capabilities the way that the URL class
does. The advantages of the URI class over the
URL class are that it provides more general
facilities for parsing and manipulating URLs than the
URL class, that it can can represent relative URIs
which do not include a scheme (or protocol), and that it can
manipulate URIs that include unsupported or even unknown schemes.
Obtain a URI with one of the constructors, which allow a URI to be
parsed from a single string, or allow the specification of the
individual components of a URI. These constructors can throw
URISyntaxException, which is a checked exception.
When using hard-coded URIs (rather than URIs based on user input) you
may prefer to use the static create(
)
method which does not throw any checked exceptions.
Once you have created a URI, object you can use
the various get methods to query the various
portions of the URI. The getraw(
)
methods are like the get( ) methods except that
they do not decode hexadecimal escape sequences of the form
%xx that appear in the URI. normalize(
) returns a new URI object that has
"." and unnecessary
".." sequences removed from its
path component. resolve(
)
interprets its URI (or string) argument relative to this URI and
returns the result. relativize(
) performs the reverse operation. It
returns a new URI which represents the same
resource as the specified URI argument, but which
is relative to this URI. Finally, the
toURL( ) method converts an absolute
URI object to the equivalent
URL. Since the URI class
provides superior textual manipulation capabilities for URLs, it can
be useful to use the URI class to resolve relative
URLs (for example) and then convert those URI
objects to URL objects when they are ready for
networking.

public final class URI implements Comparable<URI>, Serializable {
// Public Constructors
public URI(String str) throws URISyntaxException;
public URI(String scheme, String ssp, String fragment)
throws URISyntaxException;
public URI(String scheme, String host, String path, String fragment)
throws URISyntaxException;
public URI(String scheme, String authority, String path, String query,
String fragment) throws URISyntaxException;
public URI(String scheme, String userInfo, String host, int port,
String path, String query, String fragment)
throws URISyntaxException;
// Public Class Methods
public static URI create(String str);
// Public Instance Methods
public String getAuthority( );
public String getFragment( );
public String getHost( );
public String getPath( );
public int getPort( );
public String getQuery( );
public String getRawAuthority( );
public String getRawFragment( );
public String getRawPath( );
public String getRawQuery( );
public String getRawSchemeSpecificPart( );
public String getRawUserInfo( );
public String getScheme( );
public String getSchemeSpecificPart( );
public String getUserInfo( );
public boolean isAbsolute( );
public boolean isOpaque( );
public URI normalize( );
public URI parseServerAuthority( ) throws URISyntaxException;
public URI relativize(URI uri);
public URI resolve(URI uri);
public URI resolve(String str);
public String toASCIIString( );
public URL toURL( ) throws MalformedURLException;
// Methods Implementing Comparable
5.0 public int compareTo(URI that);
// Public Methods Overriding Object
public boolean equals(Object ob);
public int hashCode( );
public String toString( );
}