Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.2
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.io
Class FilterOutputStream

    java.lang.Object
      java.io.OutputStream
          java.io.FilterOutputStream

Direct Known Subclasses:
  BufferedOutputStream, CheckedOutputStream, CipherOutputStream, DataOutputStream, DeflaterOutputStream, DigestOutputStream, PrintStream

public class FilterOutputStream
extends OutputStream

This class is the superclass of all classes that filter output streams. These streams sit on top of an already existing output stream (the underlying output stream) which it uses as its basic sink of data, but possibly transforming the data along the way or providing additional functionality.

The class `FilterOutputStream` itself simply overrides all methods of `OutputStream` with versions that pass all requests to the underlying output stream. Subclasses of `FilterOutputStream` may further override some of these methods as well as provide additional methods and fields.

Since:
  JDK1.0

Field Summary
`protected OutputStream` | `out` The underlying output stream to be filtered.

Constructor Summary
`FilterOutputStream(OutputStream out)` Creates an output stream filter built on top of the specified underlying output stream.

Method Summary
`void` | `close()` Closes this output stream and releases any system resources associated with the stream.
`void` | `flush()` Flushes this output stream and forces any buffered output bytes to be written out to the stream.
`void` | `write(byte[] b)` Writes `b.length` bytes to this output stream.
`void` | `write(byte[] b, int off, int len)` Writes `len` bytes from the specified `byte` array starting at offset `off` to this output stream.
`void` | `write(int b)` Writes the specified `byte` to this output stream.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### out

    protected OutputStream out

  The underlying output stream to be filtered.

Constructor Detail

### FilterOutputStream

    public FilterOutputStream(OutputStream out)

  Creates an output stream filter built on top of the specified underlying output stream.

Parameters:
  `out` - the underlying output stream to be assigned to the field `this.out` for later use, or `null` if this instance is to be created without an underlying stream.

Method Detail

### write

    public void write(int b)
               throws IOException

  Writes the specified `byte` to this output stream.

  The `write` method of `FilterOutputStream` calls the `write` method of its underlying output stream, that is, it performs `out.write(b)`.

  Implements the abstract `write` method of `OutputStream`.

  Specified by:
    `write` in class `OutputStream`
  Parameters:
    `b` - the `byte`.
  Throws:
    `IOException` - if an I/O error occurs.

### write

    public void write(byte[] b)
               throws IOException

  Writes `b.length` bytes to this output stream.

  The `write` method of `FilterOutputStream` calls its `write` method of three arguments with the arguments `b`, `0`, and `b.length`.

  Note that this method does not call the one-argument `write` method of its underlying stream with the single argument `b`.

  Overrides:
    `write` in class `OutputStream`
  Parameters:
    `b` - the data to be written.
  Throws:
    `IOException` - if an I/O error occurs.
  See Also:
    `write(byte[], int, int)`

### write

    public void write(byte[] b,
                      int off,
                      int len)
               throws IOException

  Writes `len` bytes from the specified `byte` array starting at offset `off` to this output stream.

  The `write` method of `FilterOutputStream` calls the `write` method of one argument on each `byte` to output.

  Note that this method does not call the `write` method of its underlying input stream with the same arguments. Subclasses of `FilterOutputStream` should provide a more efficient implementation of this method.

  Overrides:
    `write` in class `OutputStream`
  Parameters:
    `b` - the data.
    `off` - the start offset in the data.
    `len` - the number of bytes to write.
  Throws:
    `IOException` - if an I/O error occurs.
  See Also:
    `write(int)`

### flush

    public void flush()
               throws IOException

  Flushes this output stream and forces any buffered output bytes to be written out to the stream.

  The `flush` method of `FilterOutputStream` calls the `flush` method of its underlying output stream.

  Overrides:
    `flush` in class `OutputStream`
  Throws:
    `IOException` - if an I/O error occurs.
  See Also:
    `out`

### close

    public void close()
               throws IOException

  Closes this output stream and releases any system resources associated with the stream.

  The `close` method of `FilterOutputStream` calls its `flush` method, and then calls the `close` method of its underlying output stream.

  Overrides:
    `close` in class `OutputStream`
  Throws:
    `IOException` - if an I/O error occurs.
  See Also:
    `flush()`, `out`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.2
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2003 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.