Java : FilterWriter with Examples
FilterWriter (Java SE 22 & JDK 22) with Examples.
You will find code examples on most FilterWriter methods.
Summary
Abstract class for writing filtered character streams. The abstract class FilterWriter itself provides default methods that pass all requests to the contained stream. Subclasses of FilterWriter should override some of these methods and may also provide additional methods and fields.
class MyWriter extends FilterWriter {
MyWriter(Writer out) {
super(out);
}
}
final var sw = new StringWriter();
try (final var writer = new MyWriter(sw)) {
writer.write("abcd");
writer.write('-');
writer.write("XYZ");
}
System.out.println(sw); // abcd-XYZ
Fields
protected Writer out
The underlying character-output stream.
class MyWriter extends FilterWriter {
MyWriter(Writer out) {
super(out);
}
Writer getOut() {
return out;
}
}
final var sw = new StringWriter();
try (final var writer = new MyWriter(sw)) {
System.out.println(writer.getOut() == sw); // true
}
Fields declared in Writer
Constructors
FilterWriter (Writer out)
Create a new filtered writer.
class MyWriter extends FilterWriter {
MyWriter(Writer out) {
super(out);
}
}
final var sw = new StringWriter();
try (final var writer = new MyWriter(sw)) {
writer.write("abcd");
writer.write("XYZ");
}
System.out.println(sw); // abcdXYZ
Methods
void close ()
Closes the stream, flushing it first.
class MyWriter extends FilterWriter {
MyWriter(Writer out) {
super(out);
}
}
final var path = Path.of("R:", "java-work", "aaa.txt");
System.out.println(path); // R:\java-work\aaa.txt
try (final var writer = new MyWriter(Files.newBufferedWriter(path))) {
writer.append("abcd");
}
final var str = Files.readString(path);
System.out.println(str); // abcd
class MyWriter extends FilterWriter {
MyWriter(Writer out) {
super(out);
}
}
// An example without a try-with-resources statement.
final var path = Path.of("R:", "java-work", "aaa.txt");
System.out.println(path); // R:\java-work\aaa.txt
final var writer = new MyWriter(Files.newBufferedWriter(path));
try {
writer.append("abcd");
} finally {
writer.close();
}
final var str = Files.readString(path);
System.out.println(str); // abcd
void flush ()
Flushes the stream.
class MyWriter extends FilterWriter {
MyWriter(Writer out) {
super(out);
}
}
final var sw = new StringWriter();
try (final var writer = new MyWriter(new BufferedWriter(sw, 128))) {
writer.write("abcdXYZ");
System.out.println(sw.toString().isEmpty()); // true
writer.flush();
System.out.println(sw); // abcdXYZ
}
class MyWriter extends FilterWriter {
MyWriter(Writer out) {
super(out);
}
}
final var sw = new StringWriter();
try (final var writer = new MyWriter(new BufferedWriter(sw, 4))) {
writer.write("abcdXYZ");
System.out.println(sw); // abcd
writer.flush();
System.out.println(sw); // abcdXYZ
}
void write (char[] cbuf, int off, int len)
Writes a portion of an array of characters.
class MyWriter extends FilterWriter {
MyWriter(Writer out) {
super(out);
}
}
final char[] cbuf = {'a', 'b', 'c', 'd'};
final var sw1 = new StringWriter();
try (final var writer = new MyWriter(sw1)) {
writer.write(cbuf, 0, 1);
}
System.out.println(sw1); // a
final var sw2 = new StringWriter();
try (final var writer = new MyWriter(sw2)) {
writer.write(cbuf, 0, 2);
}
System.out.println(sw2); // ab
final var sw3 = new StringWriter();
try (final var writer = new MyWriter(sw3)) {
writer.write(cbuf, 0, 3);
}
System.out.println(sw3); // abc
final var sw4 = new StringWriter();
try (final var writer = new MyWriter(sw4)) {
writer.write(cbuf, 0, 4);
}
System.out.println(sw4); // abcd
class MyWriter extends FilterWriter {
MyWriter(Writer out) {
super(out);
}
}
final char[] cbuf = {'a', 'b', 'c', 'd'};
final var sw1 = new StringWriter();
try (final var writer = new MyWriter(sw1)) {
writer.write(cbuf, 0, 4);
}
System.out.println(sw1); // abcd
final var sw2 = new StringWriter();
try (final var writer = new MyWriter(sw2)) {
writer.write(cbuf, 1, 3);
}
System.out.println(sw2); // bcd
final var sw3 = new StringWriter();
try (final var writer = new MyWriter(sw3)) {
writer.write(cbuf, 2, 2);
}
System.out.println(sw3); // cd
final var sw4 = new StringWriter();
try (final var writer = new MyWriter(sw4)) {
writer.write(cbuf, 3, 1);
}
System.out.println(sw4); // d
void write (int c)
Writes a single character.
class MyWriter extends FilterWriter {
MyWriter(Writer out) {
super(out);
}
}
final var sw = new StringWriter();
try (final var writer = new MyWriter(sw)) {
writer.write('a');
writer.write('b');
writer.write('c');
writer.write('d');
writer.write('X');
writer.write('Y');
writer.write('Z');
}
System.out.println(sw); // abcdXYZ
void write (String str, int off, int len)
Writes a portion of a string.
class MyWriter extends FilterWriter {
MyWriter(Writer out) {
super(out);
}
}
final var str = "abcd";
final var sw1 = new StringWriter();
try (final var writer = new MyWriter(sw1)) {
writer.write(str, 0, 1);
}
System.out.println(sw1); // a
final var sw2 = new StringWriter();
try (final var writer = new MyWriter(sw2)) {
writer.write(str, 0, 2);
}
System.out.println(sw2); // ab
final var sw3 = new StringWriter();
try (final var writer = new MyWriter(sw3)) {
writer.write(str, 0, 3);
}
System.out.println(sw3); // abc
final var sw4 = new StringWriter();
try (final var writer = new MyWriter(sw4)) {
writer.write(str, 0, 4);
}
System.out.println(sw4); // abcd
class MyWriter extends FilterWriter {
MyWriter(Writer out) {
super(out);
}
}
final var str = "abcd";
final var sw1 = new StringWriter();
try (final var writer = new MyWriter(sw1)) {
writer.write(str, 0, 4);
}
System.out.println(sw1); // abcd
final var sw2 = new StringWriter();
try (final var writer = new MyWriter(sw2)) {
writer.write(str, 1, 3);
}
System.out.println(sw2); // bcd
final var sw3 = new StringWriter();
try (final var writer = new MyWriter(sw3)) {
writer.write(str, 2, 2);
}
System.out.println(sw3); // cd
final var sw4 = new StringWriter();
try (final var writer = new MyWriter(sw4)) {
writer.write(str, 3, 1);
}
System.out.println(sw4); // d
Methods declared in Writer
Related posts
- API Examples