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. Figure 12-25. java.net.URIpublic 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 ( ); } Passed Tojava.io.File.File( ) , CookieHandler.{get( ) , put( )} , ProxySelector.{connectFailed( ) , select( )} , ResponseCache.{get( ) , put( )} Returned Byjava.io.File.toURI( ) , URL.toURI( ) |