java.net.URL Class in Java

URL is an acronym of Uniform resource locator. It is a pointer to locate resource in www (World Wide Web). A resource can be anything from a simple text file to any other like images, file directory etc.
The typical URL may look like
http://www.example.com:80/index.html
The URL has the following parts:
- Protocol: In this case the protocol is HTTP, It can be HTTPS in some cases
- Hostname: Hostname represent the address of the machine on which resource is located, in this case, www.example.com
- Port Number: It is an optional attribute. If not specified then it returns -1. In the above case, the port number is 80.
- Resource name: It is the name of a resource located on the given server that we want to see
You can learn more about the URL here.
The Class structure of the URL is as shown below:
public final class java.net.URL extends java.lang.Object
The Following are constructors provided by the URL class.
|
Constructor |
Explanation |
|---|---|
| public URL(String url ) | This constructor creates an object of URL class from given string representation |
| public URL(String protocol, String host, int port, String file) | This constructor creates an object of URL from the specified protocol, host, port number, and file. |
| public URL(String protocol, String host, String file) | This constructor creates an object of URL from the specified protocol, port number, and file. The default port number is used in this case. |
| public URL(URL context, String src) | This constructor creates an instance of a URL by parsing the given src with the specified handler within a given context. |
Methods Provided by URL Class:
| Method | Explanation |
|---|---|
| equals(Object obj) | This method compares this URL for equality with another object. |
| getAuthority() | This method gets the authority part of this URL. |
| getContent() | This method gets the contents of this URL. |
| getContent(Class[] classes) | This method gets the contents of this URL. |
| getDefaultPort() | This method gets the default port number of the protocol associated with this URL. |
| getFile() | This method gets the file name of this URL. |
| getHost() | This method gets the hostname of this URL, if applicable. |
| getPath() | This method gets the path part of this URL. |
| getPort() | This method gets the port number of this URL. |
| getProtocol() | This method gets the protocol name of this URL. |
| getQuery() | This method gets the query part of this URL. |
| getRef() | This method gets the anchor (also known as the “reference”) of this URL. |
| getUserInfo() | This method gets the userInfo part of this URL. |
| hashCode() | This method creates an integer suitable for hash table indexing. |
| openConnection() | This method returns a URLConnection instance that represents a connection to the remote object referred to by the URL. |
| openConnection(Proxy proxy) | Same as openConnection(), except that the connection will be made through the specified proxy; Protocol handlers that do not support proxing will ignore the proxy parameter and make a normal connection. |
| openStream() | This method opens a connection to this URL and returns an InputStream for reading from that connection. |
| sameFile(URL other) | This method compares two URLs, excluding the fragment component. |
| set(String protocol, String host, int port, String file, String ref) | This method sets the fields of the URL. |
| set(String protocol, String host, int port, String authority, String userInfo, String path, String query, String ref) | This method sets the specified 8 fields of the URL. |
| setURLStreamHandlerFactory(URLStreamHandlerFactory fac) | This method sets an application’s URLStreamHandlerFactory. |
| toExternalForm() | This method constructs a string representation of this URL. |
| toString() | This method constructs a string representation of this URL. |
| toURI() | This method returns a URI equivalent to this URL. |
Demonstration 1
In this demonstration, we are going to create an object of URL class for a given String URL, and we are going to print hostname, protocol, filename and Port number for given URL.
Java
// importing package requiredimport java.net.URL;import java.util.Scanner;class GFG { public static void main(String[] args) { String url // Calling method to get URL info getUrlInfo(url); } static void getUrlInfo(String url_string) { // Creating object of URL class try { URL url = new URL(url_string); System.out.println("Hostname: " + url.getHost()); System.out.println("Port Number: " + url.getPort()); System.out.println("File name: " + url.getFile()); System.out.println("Protocol: " + url.getProtocol()); } catch (Exception e) { } }} |
Output
Hostname: www.zambiatek.com Port Number: -1 File name: /variables-in-java/ Protocol: https



