Stay organized with collections
    
    
      
      Save and categorize content based on your preferences.
    
  
  
    
  
  
  
  
    
    
    
  
  
    
    
  
  
PushbackReader
  public
  
  
  
  class
  PushbackReader
  
  
  
  
  
  
  
    extends FilterReader
  
  
  
  
  
  
  
    
  A character-stream reader that allows characters to be pushed back into the
 stream.
Summary
| Public constructors | 
|---|
  
  
  
    | 
      PushbackReader(Reader in)
      Creates a new pushback reader with a one-character pushback buffer.
        
    
 | 
  
  
  
  
    | 
      PushbackReader(Reader in, int size)
      Creates a new pushback reader with a pushback buffer of the given size.
        
    
 | 
  
| Public methods | 
|---|
  
  
  
    | 
        
        
        
        
        
        void | 
      close()
      Closes the stream and releases any system resources associated with
 it.
        
    
 | 
  
  
  
  
    | 
        
        
        
        
        
        void | 
      mark(int readAheadLimit)
      Marks the present position in the stream.
        
    
 | 
  
  
  
  
    | 
        
        
        
        
        
        boolean | 
      markSupported()
      Tells whether this stream supports the mark() operation, which it does
 not.
        
    
 | 
  
  
  
  
    | 
        
        
        
        
        
        int | 
      read()
      Reads a single character.
        
    
 | 
  
  
  
  
    | 
        
        
        
        
        
        int | 
      read(char[] cbuf, int off, int len)
      Reads characters into a portion of an array.
        
    
 | 
  
  
  
  
    | 
        
        
        
        
        
        boolean | 
      ready()
      Tells whether this stream is ready to be read.
        
    
 | 
  
  
  
  
    | 
        
        
        
        
        
        void | 
      reset()
      Resets the stream.
        
    
 | 
  
  
  
  
    | 
        
        
        
        
        
        long | 
      skip(long n)
      Skips characters.
        
    
 | 
  
  
  
  
    | 
        
        
        
        
        
        void | 
      unread(char[] cbuf, int off, int len)
      Pushes back a portion of an array of characters by copying it to the
 front of the pushback buffer.
        
    
 | 
  
  
  
  
    | 
        
        
        
        
        
        void | 
      unread(char[] cbuf)
      Pushes back an array of characters by copying it to the front of the
 pushback buffer.
        
    
 | 
  
  
  
  
    | 
        
        
        
        
        
        void | 
      unread(int c)
      Pushes back a single character by copying it to the front of the
 pushback buffer.
        
    
 | 
  
| Inherited methods | 
|---|
| 
    From class
      
        
          java.io.FilterReader
        
      
      
  
  
  
    | 
        
        
        
        
        
        void | 
      close()
      Closes the stream and releases any system resources associated with
 it.
        
    
 |  
  
  
    | 
        
        
        
        
        
        void | 
      mark(int readAheadLimit)
      Marks the present position in the stream.
        
    
 |  
  
  
    | 
        
        
        
        
        
        boolean | 
      markSupported()
      Tells whether this stream supports the mark() operation.
        
    
 |  
  
  
    | 
        
        
        
        
        
        int | 
      read()
      Reads a single character.
        
    
 |  
  
  
    | 
        
        
        
        
        
        int | 
      read(char[] cbuf, int off, int len)
      Reads characters into a portion of an array.
        
    
 |  
  
  
    | 
        
        
        
        
        
        boolean | 
      ready()
      Tells whether this stream is ready to be read.
        
    
 |  
  
  
    | 
        
        
        
        
        
        void | 
      reset()
      Resets the stream.
        
    
 |  
  
  
    | 
        
        
        
        
        
        long | 
      skip(long n)
      Skips characters.
        
    
 |  | 
| 
    From class
      
        
          java.io.Reader
        
      
      
  
  
  
    | 
        abstract
        
        
        
        
        void | 
      close()
      Closes the stream and releases any system resources associated with
 it.
        
    
 |  
  
  
    | 
        
        
        
        
        
        void | 
      mark(int readAheadLimit)
      Marks the present position in the stream.
        
    
 |  
  
  
    | 
        
        
        
        
        
        boolean | 
      markSupported()
      Tells whether this stream supports the mark() operation.
        
    
 |  
  
  
    | 
        
        
        static
        
        
        Reader | 
      nullReader()
      Returns a new Readerthat reads no characters. |  
  
  
    | 
        
        
        
        
        
        int | 
      read()
      Reads a single character.
        
    
 |  
  
  
    | 
        abstract
        
        
        
        
        int | 
      read(char[] cbuf, int off, int len)
      Reads characters into a portion of an array.
        
    
 |  
  
  
    | 
        
        
        
        
        
        int | 
      read(char[] cbuf)
      Reads characters into an array.
        
    
 |  
  
  
    | 
        
        
        
        
        
        int | 
      read(CharBuffer target)
      Attempts to read characters into the specified character buffer.
        
    
 |  
  
  
    | 
        
        
        
        
        
        boolean | 
      ready()
      Tells whether this stream is ready to be read.
        
    
 |  
  
  
    | 
        
        
        
        
        
        void | 
      reset()
      Resets the stream.
        
    
 |  
  
  
    | 
        
        
        
        
        
        long | 
      skip(long n)
      Skips characters.
        
    
 |  
  
  
    | 
        
        
        
        
        
        long | 
      transferTo(Writer out)
      Reads all characters from this reader and writes the characters to the
 given writer in the order that they are read.
        
    
 |  | 
| 
    From class
      
        
          java.lang.Object
        
      
      
  
  
  
    | 
        
        
        
        
        
        Object | 
      clone()
      Creates and returns a copy of this object.
        
    
 |  
  
  
    | 
        
        
        
        
        
        boolean | 
      equals(Object obj)
      Indicates whether some other object is "equal to" this one.
        
    
 |  
  
  
    | 
        
        
        
        
        
        void | 
      finalize()
      Called by the garbage collector on an object when garbage collection
 determines that there are no more references to the object.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        Class<?> | 
      getClass()
      Returns the runtime class of this Object. |  
  
  
    | 
        
        
        
        
        
        int | 
      hashCode()
      Returns a hash code value for the object.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      notify()
      Wakes up a single thread that is waiting on this object's
 monitor.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      notifyAll()
      Wakes up all threads that are waiting on this object's monitor.
        
    
 |  
  
  
    | 
        
        
        
        
        
        String | 
      toString()
      Returns a string representation of the object.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      wait(long timeoutMillis, int nanos)
      Causes the current thread to wait until it is awakened, typically
 by being notified or interrupted, or until a
 certain amount of real time has elapsed.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      wait(long timeoutMillis)
      Causes the current thread to wait until it is awakened, typically
 by being notified or interrupted, or until a
 certain amount of real time has elapsed.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      wait()
      Causes the current thread to wait until it is awakened, typically
 by being notified or interrupted.
        
    
 |  | 
| 
    From interface
      
        
          java.io.Closeable
        
      
      
  
  
  
    | 
        abstract
        
        
        
        
        void | 
      close()
      Closes this stream and releases any system resources associated
 with it.
        
    
 |  | 
|  | 
|  | 
Public constructors
    PushbackReader
    
public PushbackReader (Reader in)
    
    
    
  Creates a new pushback reader with a one-character pushback buffer.
    
    | Parameters | 
|---|
      
        | in | Reader: The reader from which characters will be read | 
    
 
    PushbackReader
    
public PushbackReader (Reader in, 
                int size)
    
    
    
  Creates a new pushback reader with a pushback buffer of the given size.
    
    | Parameters | 
|---|
      
        | in | Reader: The reader from which characters will be read | 
      
        | size | int: The size of the pushback buffer | 
    
      
  
 
Public methods
    close
    
public void close ()
    
    
    
  Closes the stream and releases any system resources associated with
 it. Once the stream has been closed, further read(),
 unread(), ready(), or skip() invocations will throw an IOException.
 Closing a previously closed stream has no effect. This method will block
 while there is another thread blocking on the reader.
      
  
 
    mark
    
public void mark (int readAheadLimit)
    
    
    
  Marks the present position in the stream. The mark
 for class PushbackReader always throws an exception.
    
    | Parameters | 
|---|
      
        | readAheadLimit | int: Limit on the number of characters that may be
                         read while still preserving the mark.  After
                         reading this many characters, attempting to
                         reset the stream may fail. | 
    
      
  
 
    markSupported
    
public boolean markSupported ()
    
    
    
  Tells whether this stream supports the mark() operation, which it does
 not.
    
      | Returns | 
|---|
      
        | boolean | true if and only if this stream supports the mark operation. | 
    
 
    read
    
public int read ()
    
    
    
  Reads a single character.
    
      | Returns | 
|---|
      
        | int | The character read, or -1 if the end of the stream has been
             reached | 
    
      
  
 
    read
    
public int read (char[] cbuf, 
                int off, 
                int len)
    
    
    
  Reads characters into a portion of an array.
    
    | Parameters | 
|---|
      
        | cbuf | char: Destination buffer | 
      
        | off | int: Offset at which to start writing characters | 
      
        | len | int: Maximum number of characters to read | 
    
    
      | Returns | 
|---|
      
        | int | The number of characters read, or -1 if the end of the
             stream has been reached | 
    
      
  
 
    ready
    
public boolean ready ()
    
    
    
  Tells whether this stream is ready to be read.
    
      | Returns | 
|---|
      
        | boolean | True if the next read() is guaranteed not to block for input,
 false otherwise.  Note that returning false does not guarantee that the
 next read will block. | 
    
      
  
 
    reset
    
public void reset ()
    
    
    
  Resets the stream. The reset method of
 PushbackReader always throws an exception.
      
      | Throws | 
|---|
        
          | IOException | Always, since reset is not supported | 
      
  
 
    skip
    
public long skip (long n)
    
    
    
  Skips characters.  This method will block until some characters are
 available, an I/O error occurs, or the end of the stream is reached.
    
    | Parameters | 
|---|
      
        | n | long: The number of characters to skip | 
    
    
      | Returns | 
|---|
      
        | long | The number of characters actually skipped | 
    
      
  
 
    unread
    
public void unread (char[] cbuf, 
                int off, 
                int len)
    
    
    
  Pushes back a portion of an array of characters by copying it to the
 front of the pushback buffer.  After this method returns, the next
 character to be read will have the value cbuf[off], the
 character after that will have the value cbuf[off+1], and
 so forth.
    
    | Parameters | 
|---|
      
        | cbuf | char: Character array | 
      
        | off | int: Offset of first character to push back | 
      
        | len | int: Number of characters to push back | 
    
      
      | Throws | 
|---|
        
          | IOException | If there is insufficient room in the pushback
                          buffer, or if some other I/O error occurs | 
      
  
 
    unread
    
public void unread (char[] cbuf)
    
    
    
  Pushes back an array of characters by copying it to the front of the
 pushback buffer.  After this method returns, the next character to be
 read will have the value cbuf[0], the character after that
 will have the value cbuf[1], and so forth.
    
    | Parameters | 
|---|
      
        | cbuf | char: Character array to push back | 
    
      
      | Throws | 
|---|
        
          | IOException | If there is insufficient room in the pushback
                          buffer, or if some other I/O error occurs | 
      
  
 
    unread
    
public void unread (int c)
    
    
    
  Pushes back a single character by copying it to the front of the
 pushback buffer. After this method returns, the next character to be read
 will have the value (char)c.
    
    | Parameters | 
|---|
      
        | c | int: The int value representing a character to be pushed back | 
    
      
      | Throws | 
|---|
        
          | IOException | If the pushback buffer is full,
                          or if some other I/O error occurs | 
      
  
 
 
 
  
  
    
  
 
  
    
      
      
    
    
      
    
    
  
       
    
    
      
    
  
  
  Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
  Last updated 2025-02-10 UTC.
  
  
  
    
      [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-10 UTC."],[],[]]