Hurry! Try our new Interactive Courses for FREE. 🥳   🚀

PipedReader read() method in Java

In this tutorial, we will learn about the read() method of PipedReader class in Java. This method reads the next character of data from this piped stream. If no character is available because the end of the stream has been reached, the value -1 is returned.

Syntax

This is the syntax declaration of the read() method, this method does not accept any parameter but returns an ASCII code in the integer format.

public int read()

Example: Read Char using PipedReader Class

In this example, we are going to implement read() method from the PipedReeader class. Firstly, we created objects for both the classes PipedReader and PipedWriter, and then connect them using connect() method. After this, we are simply writing and reading using the read() and write() method of PipedReader and PipedWriter class.

import java.io.PipedReader;
import java.io.PipedWriter;
public class StudyTonight 
{
	public static void main(String args[])
	{
		try
		{
			PipedReader reader = new PipedReader(); 
			PipedWriter writer = new PipedWriter(); 
			reader.connect(writer); 			
			writer.write(72); 
			System.out.println((char)reader.read()); 
			writer.write(69); 
			System.out.println((char)reader.read()); 
			writer.write(76); 
			System.out.println( (char)reader.read());   
			writer.write(76); 
			System.out.println( (char)reader.read());   
			writer.write(79); 
			System.out.println( (char)reader.read());   
		}
		catch(Exception e)
		{
			System.out.println("Error: "+e.toString());
		}
	}
}

H E L L O

Example: Read char using the PipedReader Class

Here is a simple Java PipedReader example, we are reading data from the array of characters. As we stated earlier we must connect PipedReader with PipedWriter, in this program, we are connecting PipedWriter writer using the connect() method.

After connecting it, we are using the overloaded method public int read(char[] arr, int offset, int maxlen), here arr is the source of data,

offset indicates the starting position of the source from where we will start reading data. maxlength is the length of the data to be read.

For each call of this method, it will return a character on that index. When the index goes to the end of the source stream this method will return -1.

import java.io.PipedReader;
import java.io.PipedWriter;
public class StudyTonight 
{
	public static void main(String args[])
	{
		try
		{
			PipedReader reader = new PipedReader(); 
			PipedWriter writer = new PipedWriter(); 
			reader.connect(writer); 
			char[] arr = {'H', 'E', 'L', 'L', 'O'}; 
			writer.write(arr, 0, 5); 
			while(true) 
			{ 
				System.out.print((char) reader.read());           
			} 
		}
		catch(Exception e)
		{
			System.out.println("Error: "+e.toString());
		}
	}
}

HELLO

Conclusion:

In this tutorial, we learned about the read() method of PipedReader class in Java. This method reads the next character of data from this piped stream. If no character is available because the end of the stream has been reached, the value -1 is returned.