/*
 * Copyright (c) 1996, 2005, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Oracle designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Oracle in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */

package java.io;


Abstract class for reading filtered character streams. The abstract class FilterReader itself provides default methods that pass all requests to the contained stream. Subclasses of FilterReader should override some of these methods and may also provide additional methods and fields.
Author: Mark Reinhold
Since: 1.1
/** * Abstract class for reading filtered character streams. * The abstract class <code>FilterReader</code> itself * provides default methods that pass all requests to * the contained stream. Subclasses of <code>FilterReader</code> * should override some of these methods and may also provide * additional methods and fields. * * @author Mark Reinhold * @since 1.1 */
public abstract class FilterReader extends Reader {
The underlying character-input stream.
/** * The underlying character-input stream. */
protected Reader in;
Creates a new filtered reader.
Params:
  • in – a Reader object providing the underlying stream.
Throws:
/** * Creates a new filtered reader. * * @param in a Reader object providing the underlying stream. * @throws NullPointerException if <code>in</code> is <code>null</code> */
protected FilterReader(Reader in) { super(in); this.in = in; }
Reads a single character.
Throws:
  • IOException – If an I/O error occurs
/** * Reads a single character. * * @exception IOException If an I/O error occurs */
public int read() throws IOException { return in.read(); }
Reads characters into a portion of an array.
Throws:
/** * Reads characters into a portion of an array. * * @exception IOException If an I/O error occurs * @exception IndexOutOfBoundsException {@inheritDoc} */
public int read(char cbuf[], int off, int len) throws IOException { return in.read(cbuf, off, len); }
Skips characters.
Throws:
  • IOException – If an I/O error occurs
/** * Skips characters. * * @exception IOException If an I/O error occurs */
public long skip(long n) throws IOException { return in.skip(n); }
Tells whether this stream is ready to be read.
Throws:
  • IOException – If an I/O error occurs
/** * Tells whether this stream is ready to be read. * * @exception IOException If an I/O error occurs */
public boolean ready() throws IOException { return in.ready(); }
Tells whether this stream supports the mark() operation.
/** * Tells whether this stream supports the mark() operation. */
public boolean markSupported() { return in.markSupported(); }
Marks the present position in the stream.
Throws:
  • IOException – If an I/O error occurs
/** * Marks the present position in the stream. * * @exception IOException If an I/O error occurs */
public void mark(int readAheadLimit) throws IOException { in.mark(readAheadLimit); }
Resets the stream.
Throws:
  • IOException – If an I/O error occurs
/** * Resets the stream. * * @exception IOException If an I/O error occurs */
public void reset() throws IOException { in.reset(); } public void close() throws IOException { in.close(); } }