Java.io.PipedReader.read() Method



Description

The java.io.PipedReader.read(char[] cbuf, int off, int len) method reads up to len characters of data from this piped stream into an array of characters. Less than len characters will be read if the end of the data stream is reached or if len exceeds the pipe's buffer size. This method blocks until at least one character of input is available.

Declaration

Following is the declaration for java.io.PipedReader.read() method.

public int read(char[] cbuf, int off, int len)

Parameters

  • cbuf − The buffer into which the data is read.

  • off − The start offset of the data.

  • len − The maximum number of characters read.

Return Value

This method returns the total number of characters read into the buffer, or -1 if there is no more data because the end of the stream has been reached.

Exception

IOException − If an I/O error occurs.

Example

The following example shows the usage of java.io.PipedReader.read() method.

package com.tutorialspoint;

import java.io.*;

public class PipedReaderDemo {
   public static void main(String[] args) {
   
      // create a new Piped writer and reader
      PipedWriter writer = new PipedWriter();
      PipedReader reader = new PipedReader();

      try {
         // connect the reader and the writer
         reader.connect(writer);

         // write something
         writer.write(70);
         writer.write(71);

         // read into a char array
         char[] b = new char[2];
         reader.read(b, 0, 2);

         // print the char array
         for (int i = 0; i < 2; i++) {
            System.out.println("" + b[i]);
         }
      } catch (IOException ex) {
         ex.printStackTrace();
      }
   }
}

Let us compile and run the above program, this will produce the following result −

F
G
java_io_pipedreader.htm
Advertisements