◐ Shell
clean mode source ↗

Java - URL Class



What is a URL?

URL stands for Uniform Resource Locator and represents a resource on the World Wide Web, such as a Webpage or FTP directory.

This section shows you how to write Java programs that communicate with a URL. A URL can be broken down into parts, as follows −

protocol://host:port/path?query#ref

Examples of protocols include HTTP, HTTPS, FTP, and File. The path is also referred to as the filename, and the host is also called the authority.

Example

The following is a URL to a web page whose protocol is HTTP −

https://www.amrood.com/index.htm?language=en#j2se

Notice that this URL does not specify a port, in which case the default port for the protocol is used. With HTTP, the default port is 80.

Java URL Class

The URL class is a part of the java.net package. URL class represents a Uniform Resource Locator (URL). Where, URLs are used for identifying online resources (for example: webpages, images used in the webpages, videos, files, etc.)

The URL class provides several constructors and methods for creating, parsing, and manipulating URLs (or, URL objects).

URL Class Declaration

public final class URL
   extends Object
      implements Serializable

URL Class Constructors

The java.net.URL class represents a URL and has a complete set of methods to manipulate URL in Java.

The URL class has several constructors for creating URLs, including the following −

Sr.No. Constructors & Description
1

public URL(String protocol, String host, int port, String file) throws MalformedURLException

Creates a URL by putting together the given parts.

2

public URL(String protocol, String host, int port, String file, URLStreamHandler handler) throws MalformedURLException

Creates a URL by putting together the given parts with the specified handler within a specified context.

3

public URL(String protocol, String host, String file) throws MalformedURLException

Identical to the previous constructor, except that the default port for the given protocol is used.

4

public URL(String url) throws MalformedURLException

Creates a URL from the given String.

5

public URL(URL context, String url) throws MalformedURLException

Creates a URL by parsing together the URL and String arguments.

6

public URL(URL context, String url, URLStreamHandler handler) throws MalformedURLException

Creates a URL by parsing together the URL and String arguments with the specified handler within a specified context.

URL Class Methods

The URL class contains many methods for accessing the various parts of the URL being represented. Some of the methods in the URL class include the following −

  • java.lang.Object

Example of URL Class

The following URLDemo program demonstrates the various parts of a URL. A URL is entered on the command line, and the URLDemo program outputs each part of the given URL.

// File Name : URLDemo.java
import java.io.IOException;
import java.net.URL;

public class URLDemo {

   public static void main(String [] args) {
      try {
         URL url = new URL("https://www.tutorialspoint.com/index.htm?language=en#j2se");
         
         System.out.println("URL is " + url.toString());
         System.out.println("protocol is " + url.getProtocol());
         System.out.println("authority is " + url.getAuthority());
         System.out.println("file name is " + url.getFile());
         System.out.println("host is " + url.getHost());
         System.out.println("path is " + url.getPath());
         System.out.println("port is " + url.getPort());
         System.out.println("default port is " + url.getDefaultPort());
         System.out.println("query is " + url.getQuery());
         System.out.println("ref is " + url.getRef());
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
}

A sample run of the this program will produce the following result −

Output

URL is https://www.tutorialspoint.com/index.htm?language=en#j2se
protocol is https
authority is www.tutorialspoint.com
file name is /index.htm?language=en
host is www.tutorialspoint.com
path is /index.htm
port is -1
default port is 443
query is language=en
ref is j2se