Java Tutorial

Java Tutorial Java Features C++ vs Java Java History Java Hello World Java Development Kit Java Runtime Environment Java Virtual Machine Difference between JDK, JRE, and JVM Memory Areas in Java Java Operators Java Keywords Primitive Data Types Variables

Java Loops

Java Do While Loop Java While Loop Java For Loop Java Enhanced For Loop

Java Programs

Java Basic Programs Factorial Program in Java Fibonacci Series Program in Java Prime Number Program in Java Palindrome Number Program in Java Armstrong Number Program in Java Anagram Program in Java Pattern Programs in Java Calculator Program in Java Leap Year Program in Java Addition Program in Java Number Pattern Programs in Java Star Pattern Programs in Java Package Program in Java Pyramid Program in Java Sorting Program in Java String Palindrome Program in Java Even Odd Program in Java For Loop Program in Java If Else Program in Java Switch Case Program in Java GCD Program in Java LCM Program in Java Hello Program in Java Matrix Program in Java Menu Driven Program in Java Series Program in Java Client Server Program in Java Swapping Program in Java Pig Latin Program in Java Tower of Hanoi Program in Java Recursion Program in Java Matrix Multiplication Program in Java Perfect Number Program in Java Classes and Objects in Java Example Programs String Programs in Java Array Programs in Java Constructor Program in Java Inheritance Program in Java Abstract class Program in Java Interface Program in Java Encapsulation Program in Java Polymorphism Program in Java Exception Handling Program in Java Multithreading Program in Java Thread Program in Java Collection Programs in Java ArrayList Program in Java Stack Program in Java Applet Program in Java Swing Program in Java JDBC Program in Java How to run Java program in command prompt How to run Java program in Eclipse

Java Sorting

Sorting Algorithms in Java Merge Sort in Java Quick Sort in Java Bubble Sort in Java Insertion Sort in Java Selection Sort in Java Heap Sort in Java Radix Sort in Java Topological Sort in Java Bucket Sort in Java Counting Sort in Java

Java OOPs Concepts

OOPs - Object Oriented Programming Objects and Classes in Java Java Naming Conventions Constructors in Java Java this keyword Java static keyword Inheritance in Java Aggregation in Java Java super keyword Constructor Chaining and Constructor Overloading Java Polymorphism Static and Dynamic Binding in Java Java Abstraction Abstract class in Java Interface in Java Difference between Abstract class and Interface Java final keyword Packages in Java Access Modifiers in Java Java Wrapper classes Java Numbers Java Characters Java Integer Java Boolean Java Arrays Java Command Line Arguments Java strictfp Keyword Java Math

Java Strings

Java Strings Java String Methods StringBuilder in Java StringBuffer in Java Java Regular Expressions StringBuffer vs StringBuilder String vs StringBuffer String vs StringBuilder String Manipulation in Java Java String Concatenation How to Reverse a String in Java String Array in Java How to Compare Two Strings in Java How to Concatenate Two Strings in Java Why String in Immutable in Java java.lang.NumberFormatException for Input String String Pool in Java Java Generate Random String How to take String Input in Java Java String Interview Questions

Java Exceptions

Exception Handling in Java Java try catch Java throw Java throws Difference between throw and throws Java finally Java Custom Exception Java Exception Propagation

Garbage Collection

Automatic Resource Management in Java Java Garbage Collection Java finalize() Java gc() Difference between final, finally and finalize

Multithreading

Multithreading in Java Process and Thread in Java Basic Terms in Multithreading Java Thread creation Thread Scheduler in Java Java Thread class DeadLock in Java

Java IO

Java IO Java Read File Java BufferedWriter Java InputStreamReader Java File Java Read File Line By Line Java FileOutputStream Jar File in Java

Serialization

Java Serialization Java transient

Networking

Java Network Programming Java Socket Programming Java URL Java URLConnection HttpURLConnection in Java Java InetAddress Java DatagramSocket and Java DatagramPacket

AWT

Java AWT

Swing

Swing in Java

Java Collections

Collections in Java Java List Interface ArrayList in Java LinkedList in Java Vector in Java Stack in Java ArrayList vs LinkedList in Java ArrayList vs Vector in Java Java Set Interface HashSet in Java LinkedHashSet in Java TreeSet in Java Java Queue Interface PriorityQueue in Java ArrayDeque in Java Java Map Interface HashMap in Java LinkedHashMap in Java TreeMap in Java Dictionary in Java Hashtable in Java Properties in Java Collections class in Java Java Comparable Java Comparator Comparable vs Comparator in Java

Java Generics

Generics in Java

Java Annotations

Annotations in Java

Java JDBC

Java JDBC Tutorial

Java Differences

Java vs JavaScript Python vs Java Kotlin vs Java Java vs C++ C# vs Java Static vs Non-static in Java C vs Java int vs Integer in Java Stack vs Heap in Java Java Array vs ArrayList

How to

How to run Java program How to set path in Java How to check the Java version in cmd How to install Java in Windows 10 How to run Java program in cmd How to call a method in Java How to sort an array in Java How to iterate HashMap in Java How to write Java program How to create an array in Java How to create a package in Java How to generate random numbers in Java How to input String in Java How to create thread in Java How to find length of String in Java How to sort a string in Java How to use scanner in Java How to achieve multiple inheritance in Java How to run Java program in Eclipse How to call a function in Java How to create array of objects in Java How to create custom exception in Java How to achieve abstraction in Java How to call static method in Java

Java 8 Features

Java 8 Features Lambda Expressions in Java Functional Interface in Java Streams in Java Java Base64 Encoding and Decoding Parallel Arrays Sort in Java

Java 9 Features

Java 9 Tutorial Java 9 Try With Resources Java 9 Interface Private Method

Java Servlet Tutorial

Java Servlets Tutorial

Java JSP Tutorial

Java JSP Tutorial

Hibernate Tutorial

Hibernate Tutorial

Spring Tutorial

Spring Tutorial

Spring MVC Tutorial

Spring MVC Tutorial

Jenkins Tutorial

Jenkins Tutorial

Java Math Methods

Math.abs() Math.acos() Math.addExact() Math.asin() Math.atan () Math.atan2() Math.cbrt() Math.ceil() Math.copysign() Math.cos() Math.cosh() Math.decrementExact() Math.exp() Math.expm1() Math.floor() Math.floorDiv() Math.floorMod() Math.getExponent() Math.hypot() Math.IEEEremainder() Math.incrementExact() Math.log() Math.log10() Math.log1p() Math.max() Math.min() Math.multiplyExact() Math.multiplyFull() Math.negateExact() Math.nextAfter() Math.nextDown() Math.nextUp() Math.pow() Math.random() Math.rint() Math.round() Math.scalb() Math.signum() Math.sin() Math.sinh() Math.sqrt() Math.subtractExact() Math.tan() Math.tanh() Math.toDegrees() Math.toIntExact() Math.toRadians() Math.ulp()

Java String Methods

toCharArray() copyValueOf() endsWith() equals() equalsIgnoreCase() format() getBytes() getChars() hashCode() indexOf() intern() isEmpty() join() lastIndexOf() length() replace() replaceAll() replaceFirst() split() startsWith() subSequence() substring() toLowerCase() toUpperCase() trim() valueOf()

Java Conversion

Java Convert String to int Java Convert int to String Java Convert String to long Java Convert long to String Java Convert String to float Java Convert float to String Java Convert String to double Java Convert double to String Java Convert String to Date Java Convert Date to String Java Convert String to Object Java Convert Object to String Java Convert String to char Java Convert char to String Java Convert int to long Java Convert long to int

Misc

Functional Interfaces in Java Singleton class in Java Awesome explanation of Strings in Java Object class in Java Static class in Java All the important string methods in Java String Handling Method in Java What are Array strings in Java Advantages and Disadvantages of Strings in Java Big Decimal class in Java Class definition in Java Char and String differences in Java Difference between String, StringBuffer and StringBuilder in java Replace character in string Java String Coding Interview Questions in Java What is String in Java? String isnullorempty in Java String Matches in Java Trim Method in String Java Bean class in Java Libraries in Java Arithmetic Operations on String in Java Convert Char array to string in java Check whether Java is installed or not How to calculate time difference in Java How to stop execution after a certain time in Java Jagged Array in Java Java ArraylistRemove() Time Complexity Java Swing Time Picker Zigzag Array in Java

Java URL Class with Example

Java URL Uniform Resource Locator

To find any resource on the internet, you need to have an address of it.

The URL and IP addresses are the pointers used for this purpose. An IP address points to the physical address of the computer. Instead of all that, the URL contains the protocol to be used, the domain name or an IP address, the path, and optional fragment identifier. It is easy to see that an IP address is the part of a URL, although it is common to see a domain name instead of an IP address.

A domain name specifies the address where Internet users can access your website. As previous computer uses IP addresses, which are a series of numbers, but it is difficult for humans to remember strings of numbers. Because of this, domain names were developed, is the combination of letters and numbers to represent the address to access your website.

URL is an acronym for Uniform Resource Locator. It is used to address resources(document) on the World Wide Web. A resource can be a file or a directory or a more complicated object, like a query to a database or search engine. Web browsers request pages from the web servers by using a URL. A URL refers to a web address.

The Internet is facing a rapid depletion of the IP address pool due to the rapid growth of the internet. IPv6 was invented for increasing the number of IP addresses that can be used over the network. And also, there is no limit to the number of possible URL as there is no shortage of the name.

The syntax of the URL:

Scheme://host:port/path?query-string#fragment-id

The Scheme -It tells about the protocol to be used to access the resource.

The hostname- The hostname indicates where the resources located on the internet.

Port number -It indicates where the server located on the internet.

Path-It specifies the specific resource within the host that the user wants to access.

Query-string-It contains data to be passed on server-side scripts running on the server. It is preceded by a question mark (?), is usually a string of name and value pairs separated by an ampersand.

Fragment-identifier –It is introduced by a hash character (#) is the optional last part of a URL for a document that specifies a location within the page.

How to translate URL:

The web browser finds web pages using an IP or internet protocol. The IP is a series of numbers like 172.217.163.110, and it becomes difficult to remember a number for every website that you want to visit. It is far easier to use a word-based URL like www.google.com. When the host writes a URL into an address field, your web browsers uses DNS(Domain name Server) for translating the URL to the corresponding IP.

It is essential for processing the request through a Domain Name Server(DNS) for converting the domain name into an IP address. Without the DNS, the request would fail as the computer would not be able to find the host. The browser can then use IP numbers to find the information for you.

Syntax:

Creation of the instance of URL:
URL url=new URL("https://www.tutorialandexample.com/java-tutorial"); 

Some constructor for creating URL instances:

Constructor Description
URL(String str1) It creates a URL object from a specified String.
URL(String protocol, String host11, String file) It creates a URL object from the specified protocol, host11, and file name.
URL(String protocol, String host1, int port1, String file1) It creates a URL object from protocol, host, port, and filename.  
URL(URL url1 ,String str1) It creates a URL object by parsing the given string in the given context
URL(String protocol, String host1, int port, String file1, URLStreamHandler handler1) It creates a URL object from the specified protocol, host, port number, filename, and handler1.
URL (URL url1, String str, URLStreamHandler handler) It creates a URL by parsing the given str with the specified handler within a specific context.

URL provides many methods as follows for parsing the URL:

Method Description
   public String getProtocol()     It returns the protocol of the URL.  
 public String getHost()   It returns the hostname of the URL.  
 public String getPort()   It returns the Port Number of the URL  
 public String getFile()   It returns the file name of the URL
 public URLConnection openConnection()   It returns the instance of URLConnection. i.e., associated with this URL.  
public String toString() It returns the String representation of the given URL object
public String getAuthority() It returns the authority part of the URL or null if empty.
 public String getPath() It returns the path of the URL or null if empty.
public String getQuery() It returns the query part of the URL.
 public int getDefaultPort() It returns the default port used.
Public String getRef() It returns the reference of the URL

Types of URL:

  1. file URL

The file protocol is used in a URL that specifies the location of an operating system file. It is used to retrieve files from within a computer.

Features:

  • The file URL is used to designate files accessible on a particular host computer.
  •  This URL does not designate a resource that is universally accessible over the internet.

     Syntax:

 file://host/path

Here, the host is the fully qualified domain name of the system on which the path is accessible, and the path is a hierarchical directory path. It specifies the localhost, the machine from which the URL is being interpreted if the host is omitted.

Example-

file:///C:/Users/ABCD/Desktop/socket/1.html

import java.net.*;
public class url1{ 
public static void main(String[] args){ 
try
{ 
URL url=new URL("file:///C:/Users/ABCD/Desktop/socket/1.html"); 
System.out.println("The Protocol is: "+url.getProtocol()); 
System.out.println("The Host Name is: "+url.getHost()); 
System.out.println("The Port Number is: "+url.getPort()); 
System.out.println("The Default Port Number is: "+url.getDefaultPort()); 
System.out.println(" The Query String is: "+url.getQuery()); 
System.out.println("The Path is: "+url.getPath()); 
System.out.println("File: "+url.getFile()); 
}
catch(Exception e){System.out.println(e);} 
} 
}  

The output of the code:

Types of URL

2. http URL

The Hypertext Transfer Protocol specifies the application-level protocol for distributed, collaborative, hypermedia information systems. It is the TCP/IP based communication protocol that can be used for delivering the data on the World Wide Web. The data may be the html files, image files, videos, etc. It is a foundation protocol for securing the communication between two systems for e.g., the browsers and the webserver. When you write a URL on your browsers, it sends an http request to the webserver for the webpage. In response, the server sends the http response to the client.

Features:

  • The http protocol refers to the request/response protocol working in the client/server- based architecture where the browser acts like http clients, and the server acts as a server. It is a stateless protocol because each command is executed independently without having any knowledge of the commands that came before it.
  • It is media independent because any type of data can be sent by it.
  • It is connection-less as the server processes the request and sends a response back, after which the client disconnects the connection.

   Syntax:

http://host:port/path/file

Example:

http://www.tutorialandexample.com/static-and-dynamic-binding-in-java

import java.net.*; 
public class url1{ 
public static void main(String[] args){ 
try
{ 
URL url=new URL("http://www.tutorialandexample.com/static-and-dynamic-binding-in-java"); 
System.out.println("The Protocol is:"+url.getProtocol()); 
System.out.println("The Host Name is:"+url.getHost()); 
System.out.println("The Port Number is:"+url.getPort()); 
System.out.println("The Default PortNumber is: "+url.getDefaultPort()); 
System.out.println(" The Query String is:"+url.getQuery()); 
System.out.println("The Path is:"+url.getPath()); 
System.out.println("File: "+url.getFile()); 
}
catch(Exception e){System.out.println(e);
}  
} 
}

The output of the above program:

http URL

 3. https URL

The https is not a separate protocol from http. It simply uses TLS/SSL encryption over the http protocol. The https prevents the websites from having their information broadcasted in a way that is easily viewed by anyone on the network. With https, traffic encrypts in such a way that even if the packets are intercepted, they will come across as nonsensical characters. 

Features:

  • The https stands for secure hypertext transfer protocol. It is the secure version of http, by which the data is sent in a secure form between your browsers and the websites to which you are connected.
  • It means all communications between your browsers and the website are encrypted.
  • The importance of https over the http is the safety of our data from middle hackers as it is encrypted.
  • It is mainly for secure web pages, like online banking and online shopping order forms.

 Syntax:

https://host:port/path/file

Example:

https://www.tutorialspoint.com/index.htm

import java.net.*; 
public class url1{ 
public static void main(String[] args){ 
try
{ 
URL url=new URL("https://www.tutorialspoint.com/index.htm"); 
System.out.println("The Protocol is: "+url.getProtocol()); 
System.out.println("The Host Name is: "+url.getHost()); 
System.out.println("The Port Number is: "+url.getPort()); 
System.out.println("The Default Port Number is: "+url.getDefaultPort()); 
System.out.println(" The Query String is: "+url.getQuery()); 
System.out.println("The Path is: "+url.getPath()); 
System.out.println("File: "+url.getFile()) ; 
}
catch(Exception e)
{System.out.println(e);
} 
} 
}  

The output:

https URL

4. ftp URL

ftp is the standard network protocol used for transferring computer files between a client and server on a client-server computer network. It is also used for downloading or uploading the files from or to the remote host.

Features:

  • File Transfer protocol URL is the standard mechanism provided by TCP/IP for copying a file from one device to another device.
  • It is used for downloading or uploading files between a client and a server on a computer network in a most secure way.
  • It allows the back and forth transferring of the files.

Example: To show file Transfer and file Receiver by using the ftp protocol

File Transfer

import java.awt.*;
 import java.awt.event.*;
 import javax.swing.*;
 import java.io.*;
 import java.net.*;
 public class FileTransfer extends JFrame implements ActionListener
 {
 JFrame jf;
 JButton jb1,jb2;
 TextField tf;
 JFileChooser jfc;
 Socket s;
 DataInputStream din;
 DataOutputStream dout,dout1;
 String s1=new String(); 
 String s2="";
 File f;
 FileTransfer()
 {
 jf=new JFrame("File Transfer");
 jf.setSize(400,400);
 Container c=jf.getContentPane();
 c.setBackground(Color.red);
 jf.setLayout(null);
 jb1=new JButton("choose file");
 jb2=new JButton("send");
 jb1.setBounds(30,50,100,50);
 jb2.setBounds(250,150,70,50); 
 jf.add(jb1);
 jf.add(jb2);
 tf=new TextField();
 tf.setEditable(false);
 tf.setBackground(Color.white);
 tf.setBounds(150,50,190,50);
 jf.add(tf);
 jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); 
 jf.setVisible(true);
 jfc=new JFileChooser();
 jb1.addActionListener(this);
 jb2.addActionListener(this);
 }
 public void fileTransfer(String s1)
 {
 try
 {
 dout1.writeUTF(s1);
 dout1.flush();
 s2=f.getAbsolutePath();
 FileReader fr=new FileReader(s2);
 BufferedReader br=new BufferedReader(fr);
 String s3="";
 do{ 
 s3=br.readLine();
 if(s3!=null)
 {
 dout.writeUTF(s3);
 dout.flush();
 }
 }
 while(s3!=null);
 }
 catch(Exception e)
 {
 System.out.println(e+"file not found");
 }
 }
 public void actionPerformed(ActionEvent e)
 {
 if(e.getSource()==jb1)
 {
 int x=jfc.showOpenDialog(null);
 if(x==JFileChooser.APPROVE_OPTION)
 {
 f=jfc.getSelectedFile();
 String path=f.getPath();
 s1=f.getName();
 tf.setText(path+"//"+s1);
 }
 }
 if(e.getSource()==jb2)
 {
 try
 {
 //s1=tf.getText();
 s=new Socket("localhost",10);
 dout1=new DataOutputStream(s.getOutputStream());
 dout=new DataOutputStream(s.getOutputStream());
 }
 catch(Exception e1)
 {
 System.out.println("send button:"+e1);
 }
 fileTransfer(s1);
 } 
 }
 public static void main(String a[])
 {
 FileTransfer ft=new FileTransfer();
 }
 } 

The output of the program:

ftp URL

File Receiver

import java.awt.*;
 import javax.swing.*;
 import java.io.*;
 import java.net.*;
 public class FileReciever
 {
 Socket s;
 ServerSocket ss;
 DataInputStream dis,dis1;
 PrintWriter pw;
 public FileReciever()
 {
 try
 {
 ss=new ServerSocket(10);
 s=ss.accept();
 System.out.println("connection connected"); 
 dis=new DataInputStream(s.getInputStream());
 String s2=dis.readUTF();
 System.out.println(s2);
 FileWriter fr=new FileWriter(s2);
 pw=new PrintWriter(fr);
 fileReciever();
 }
 catch(Exception e1)
 {
 }
 }
 public void fileReciever()
 {
 String str="";
 try{ 
 do
 {
 str=dis.readUTF();
 System.out.println(str);
 pw.println(str);
 pw.flush();
 }
 while(!str.equals(null)); 
 }
 catch(Exception e)
 {
 } 
 }
 public static void main(String a[])
 {
 FileReciever fi=new FileReciever();
 }
 } 

The output of the program:

File Receiver

Way of addressing the URL:

  1. Absolute URL? An absolute URL is the complete address of a resource. An absolute URL depends on the protocol, hostname, folder name, and file name. It is similar to the addresses defined by the Indian postal service that contains the name, house number, street address, city, state, and pin code. If any of the information is missing, the mail cannot be delivered to the right person. Similarly, if you miss the information from the URL, the resource file cannot be accessed.

Example 1:

import java.net.*;
 import java.net.URL;
 public class absoluteURL
 {
 public static void main(String s[])
 {
 try
 {
 //It is the complete address of the resource. 
 URL url=new URL("https://www.tutorialandexample.com:80/interface-in-java");
 System.out.println(url);
 //it creates a URL from each component passes as different parameters.
 URL url1=new URL("https","www.tutorialandexample.com", 80 ,"/java-abstraction");
 System.out.println(url1);
 }
 catch(MalformedURLException e) 
 {
 e.printStackTrace();
 }
 }
 } 

The output of the above program:

Way of addressing the URL

Example2:

import java.net.*; 
 public class url1{ 
 public static void main(String[] args){ 
 try
 { 
 URL url=new URL("https://www.google.com/search?q=tutorialandexamplet&oq=tutorialandexample&sourceid=chrome&ie=UTF-8"); 
 System.out.println("The Protocol is: "+url.getProtocol()); 
 System.out.println("The Host Name is: "+url.getHost()); 
 System.out.println("The Port Number is: "+url.getPort()); 
 System.out.println("The Default Port Number is: "+url.getDefaultPort()); 
 System.out.println(" The Query String is: "+url.getQuery()); 
 System.out.println("The Path is: "+url.getPath()); 
 System.out.println("File: "+url.getFile()); 
 }
 catch(Exception e){System.out.println(e);} 
 } 
 }  

Output of program:

Way of addressing the URL
  • Relative URL –Relative URL does not contain all the parts of a URL, it is always considered with respect to a base URL. A relative URL contains the folder name and file name or only the file name. This URL is basically used when the resource file is stored in the same folder or the same server. In this situation, the browser does not require the protocol and the server name because it assumes the resource file is stored in the folder or the server that is relative to the original file. A relative URL contains enough information to reach the resource relative to another URL. There is a Constructor that creates a URL object from another URL object (the base) and a relative URL specification.

Syntax:

URL(URL baseURL , String relativeURL)

The first argument is the URL object that specifies the base of the new URL. The other argument is a string that specifies rest of the resource name relative to the base. If baseURL is null, then the constructor treats relativeURL like an absoluteURL specification. If relativeURL specifies absolute URL specification, then the constructor ignores baseURL.

Example: We can create a URL that points to https://www.tutorialandexample.com/java-characters/. Then we resolve a URL relative as   “../interface-in-java ". The double dots (..) means to go to the parent folder.

import java.net.MalformedURLException;
 import java.net.URL;
 public class RelativeURL
 {
 public static void main(String s[])
 {
 try
 {
 URL base=new URL("https://www.tutorialandexample.com/");
 URL rel1=new URL(base," java-characters ");
 System.out.println("The information of the relative url");
 System.out.println(rel1);
 System.out.println("The Protocol is: "+rel1.getProtocol()); 
 System.out.println("The Host Name is: "+rel1.getHost()); 
 System.out.println("The Port Number is: "+rel1.getPort()); 
 System.out.println("The Default Port Number is: "+rel1.getDefaultPort()); System.out.println(" The Query String is:"+rel1.getQuery()); 
 System.out.println("The Path is:"+rel1.getPath()); 
 System.out.println("File: "+rel1.getFile()); 
 //we create a URL http://www.tutorialandexample.com/java-characters.
 URL base1=new URL("https://www.tutorialandexample.com/java-characters/");
 //we resolve a URL relative as ../ interface-in-java 
 URL rel2=new URL(base1, "../ interface-in-java ");
 System.out.println("The information of the relative url");
 System.out.println(rel2.toExternalForm());
 System.out.println("The Protocol is: "+rel2.getProtocol()); 
 System.out.println("The Host Name is: "+rel2.getHost()); 
 System.out.println("The Port Number is: "+rel2.getPort()); 
 System.out.println("The Default Port Number is: "+rel2.getDefaultPort()); System.out.println(" The Query String is: "+rel2.getQuery()); 
 System.out.println("The Path is:"+rel2.getPath());  
 System.out.println("File: "+rel2.getFile()); 
 }
 catch(MalformedURLException e)
 {
 e.printStackTrace();
 }}
 } 

The output of the above program:

relative URL specification



ADVERTISEMENT
ADVERTISEMENT