URI(String, String, String, int, String, String, String): This method is available in the java.net.URI class of Java.
Syntax:
java.net.URI.URI(String scheme, String userInfo, String host, int port, String path, String query, String fragment) throws URISyntaxException
This method takes seven arguments. This method constructs a hierarchical URI from the given components.
If a scheme is given then the path, if also given, must either be empty or begin with a slash character ('/'). Otherwise, a component of the new URI may be left undefined by passing null for the corresponding parameter or, in the case of the port parameter, bypassing -1.
1. Initially, the result string is empty.
2. If a scheme is given then it is appended to the result, followed by a colon character (':').
3. If user information, a host, or a port is given then the string "//" is appended.
4. If user information is given then it is appended, followed by a commercial-at character ('@'). Any character not in the unreserved, punct, escaped, or other categories are quoted.
5. If a host is given then it is appended. If the host is a literal IPv6 address but is not enclosed in square brackets('[' and ']') then the square brackets are added.
6. If a port number is given then a colon character(':') is appended, followed by the port number in decimal.
7. If a path is given then it is appended. Any character not in the unreserved, punct, escaped, or other categories, and not equal to the slash character ('/') or the commercial-at character ('@'), is quoted.
8. If a query is given then a question-mark character('?') is appended, followed by the query. Any character that is not a legal URI character is quoted.
9. Finally, if a fragment is given then a hash character('#') is appended followed by the fragment. Any character that is not a legal URI character is quoted.
Parameters: Seven parameters are required for this method.
scheme: Scheme name.
userInfo: User name and authorization information.
host: Hostname.
port: Port number.
path: Path.
query: Query.
fragment: Fragment.
Throws:
1. URISyntaxException - If both a scheme and a path are given but the path is relative, if the URI string is constructed from the given components violates RFC 2396, or if the authority component of the string is present but cannot be parsed as a server-based authority
Approach 1: When no exception
Java
package com.URI;import java.net.URI;import java.net.URISyntaxException;public class URI5 {public static void main(String[] args) throws URISyntaxException {String scheme = "https", userInfo = "userInfo", host = "localhost", path = "/hello", query = "param=value",fragment = "fragment";int port = 8080;URI uri = new URI(scheme, userInfo, host, port, path, query, fragment);System.out.println(uri);}}
Output:
https://userInfo@localhost:8080/hello?param=value#fragment
Approach 2: URISyntaxException
Java
package com.URI;import java.net.URI;import java.net.URISyntaxException;public class URI5 {public static void main(String[] args) throws URISyntaxException {String scheme = "\\https", userInfo = "userInfo", host = "localhost", path = "/hello", query = "param=value",fragment = "fragment";int port = 8080;URI uri = new URI(scheme, userInfo, host, port, path, query, fragment);System.out.println(uri);}}
Output:
Exception in thread "main" java.net.URISyntaxException: Illegal character in scheme name at index 0: \https://userInfo@localhost:8080/hello?param=value#fragment at java.base/java.net.URI$Parser.fail(URI.java:2963) at java.base/java.net.URI$Parser.checkChars(URI.java:3134) at java.base/java.net.URI$Parser.checkChar(URI.java:3144) at java.base/java.net.URI$Parser.parse(URI.java:3159) at java.base/java.net.URI.<init>(URI.java:708) at com.URI.URI5.main(URI5.java:12)
Some other methods of URI class
URI(String): This method constructs a URI by parsing the given string.
URI(String, String, String): This method constructs a URI from the given components. A component may be left undefined by passing null.
URI(String, String, String, String): This method constructs a hierarchical URI from the given components.
URI(String, String, String, String, String): This method constructs a hierarchical URI from the given components. If a scheme is given then the path, if also given, must either be empty or begin with a slash character ('/'). Otherwise, a component of the new URI may be left undefined by passing null for the corresponding parameter.
URI(String, String, String, int, String, String, String): This method constructs a hierarchical URI from the given components. If a scheme is given then the path, if also given, must either be empty or begin with a slash character ('/'). Otherwise, a component of the new URI may be left undefined by passing null for the corresponding parameter or, in the case of the port parameter, bypassing -1.
compareTo(URI): This method compares this URI to another object, which must be a URI.
URI.create(String): This method creates a URI by parsing the given string.
equals(Object): This method tests this URI for equality with another object.
getAuthority(): This method returns the decoded authority component of this URI.
getFragment(): This method returns the decoded fragment component of this URI.
getHost(): This method returns the host component of this URI.
getPath(): This method returns the decoded path component of this URI.
getPort(): This method returns the port number of this URI.
getQuery(): This method returns the decoded query component of this URI.
getRawAuthority(): This method returns the raw authority component of this URI.
getRawFragment(): This method returns the raw fragment component of this URI.
getRawPath(): This method returns the raw path component of this URI.
getRawQuery(): This method returns the raw query component of this URI.
getRawSchemeSpecificPart(): This method returns the raw scheme-specific part of this URI. The scheme-specific part is never undefined, though it may be empty.
getRawUserInfo(): This method returns the raw user-information component of this URI.
getScheme(): This method returns the scheme component of this URI.
hashCode(): This method returns a hash code value for this URI.
isAbsolute(): This method tells whether or not this URI is absolute.
isOpaque(): This method tells whether or not this URI is opaque.
normalize(): This method normalizes this URI's path.
parseServerAuthority(): This method attempts to parse this URI's authority component if defined, into user information, host, and port components.
relativize(URI): This method relativizes the given URI against this URI.
resolve(String): This method constructs a new URI by parsing the given string and then resolving it against this URI.
resolve(URI): This method resolves the given URI against this URI
toASCIIString(): This method returns the content of this URI as a US-ASCII string.
toString(): This method returns the content of this URI as a string.
toURL(): This method constructs a URL from this URI.
No comments:
Post a Comment