This abstract class is intended to act as a superclass for character output streams that filter the data written to them before writing it to some other character output stream.
FilterWriter is declared abstract, so that it cannot be instantiated. But none of its methods are themselves abstract: they all simply invoke the corresponding method on the output stream that was passed to the FilterWriter constructor. If you were allowed to instantiate a FilterWriter object, you'd find that it acts as a "null filter"--that it simply passes the characters written to it along, without any filtration.
Because FilterWriter implements a "null filter," it is an ideal superclass for classes that want to implement simple filters without having to override all of the methods of Writer. In order to create your own filtered character output stream, you should subclass FilterWriter and override all of its write() methods to perform the desired filtering operation. Note that you can implement two of the write() methods in terms of the third, and thus only implement your filtering algorithm once. In some cases, you may want to override other Writer methods as well, and you may often want to add other methods or constructors that are specific to your subclass.
FilterWriter is the character-stream analog of FilterOutputStream.
public abstract class FilterWriter extends Writer { // Protected Constructor protected FilterWriter(Writer out); // Protected Instance Variables protected Writer out; // Public Instance Methods public void close() throws IOException; // Defines Writer public void flush() throws IOException; // Defines Writer public void write(int c) throws IOException; // Overrides Writer public void write(char[] cbuf, int off, int len) throws IOException; // Defines Writer public void write(String str, int off, int len) throws IOException; // Overrides Writer }
Object->Writer->FilterWriter
This HTML Help has been published using the chm2web software. |