Java.io.PushbackInputStream.unread() Method



Description

The java.io.PushbackInputStream.unread(int b) method pushes back a byte by copying it to the front of the pushback buffer. After this method returns, the next byte to be read will have the value (byte)b.

Declaration

Following is the declaration for java.io.PushbackInputStream.unread() method.

public void unread(int b)

Parameters

b − The int value whose low-order byte is to be pushed back.

Return Value

This method does not return a value.

Exception

IOException − If there is not enough room in the pushback buffer for the byte, or this input stream has been closed by invoking its close() method.

Example

The following example shows the usage of java.io.PushbackInputStream.unread() method.

package com.tutorialspoint;

import java.io.*;

public class PushbackInputStreamDemo {
   public static void main(String[] args) {
      
      // declare a buffer and initialize its size:
      byte[] arrByte = new byte[1024];

      // create an array for our message
      byte[] byteArray = new byte[]{'H', 'e', 'l', 'l', 'o',};

      // create object of PushbackInputStream class for specified stream
      InputStream is = new ByteArrayInputStream(byteArray);
      PushbackInputStream pis = new PushbackInputStream(is, 10);
      
      try {
         // read from the buffer one character at a time
         for (int i = 0; i < byteArray.length; i++) {

            // read a char into our array
            arrByte[i] = (byte) pis.read();

            // display the read byte
            System.out.print((char) arrByte[i]);
         }

         // change line
         System.out.println();

         // unread a char
         pis.unread('F');

         // read again from the buffer 
         arrByte[1] = (byte) pis.read();

         // display the read byte
         System.out.print((char) arrByte[1]);
      } catch (Exception ex) {
         ex.printStackTrace();
      }
   }
}

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

Hello
F
java_io_pushbackinputstream.htm
Advertisements