URI.create(String) in Java

URI.create(String): This method is available in the java.net.URI class of Java.

Syntax:

URI java.net.URI.create(String str)

This method takes one argument. This method creates a URI by parsing the given string.

This method is provided for use in situations where it is known that the given string is a legal URI, for example for URI constants declared within a program, and so it would be considered a programming error for the string not to parse as such. The constructors, which throw URISyntaxException directly, should be used in situations where a URI is being constructed from user input or from some other source that may be prone to errors.

Parameters: One parameter is required for this method.

str: The string to be parsed into a URI.

Returns: The new URI.

Throws:

1. NullPointerException - If str is null.

2. IllegalArgumentException - If the given string violates RFC 2396

Approach 1: When no exception

Java

package com.URI;

import java.net.URI;

public class URIcreate {
    public static void main(String[] args) {

        String str = "https://localhost:8080/hello";

        System.out.println(URI.create(str));
    }
}

Output:

https://localhost:8080/hello


Approach 2: NullPointerException 

Java

package com.URI;

import java.net.URI;

public class URIcreate {
    public static void main(String[] args) {

        String str = null;

        System.out.println(URI.create(str));
    }
}

Output:

Exception in thread "main" java.lang.NullPointerException: Cannot invoke "String.length()" because "this.input" is null at java.base/java.net.URI$Parser.parse(URI.java:3154) at java.base/java.net.URI.<init>(URI.java:623) at java.base/java.net.URI.create(URI.java:904) at com.URI.URIcreate.main(URIcreate.java:10)


Approach 3: IllegalArgumentException 

Java

package com.URI;

import java.net.URI;

public class URIcreate {
    public static void main(String[] args) {

        String str = "\\https://localhost:8080/hello";

        System.out.println(URI.create(str));
    }
}

Output:

Exception in thread "main" java.lang.IllegalArgumentException: Illegal character in scheme name at index 0: \https://localhost:8080/hello at java.base/java.net.URI.create(URI.java:906) at com.URI.URIcreate.main(URIcreate.java:10) Caused by: java.net.URISyntaxException: Illegal character in scheme name at index 0: \https://localhost:8080/hello 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:623) at java.base/java.net.URI.create(URI.java:904) ... 1 more


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